| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| name: CI - Pulsar Website build |
| on: |
| schedule: |
| - cron: '0 */6 * * *' |
| |
| env: |
| MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.count=3 |
| |
| jobs: |
| build-website: |
| name: Build and publish pulsar website |
| runs-on: ubuntu-latest |
| timeout-minutes: 120 |
| steps: |
| - name: checkout |
| uses: actions/checkout@v2 |
| |
| - name: build |
| run: mvn -B clean package -DskipTests -Pswagger |
| |
| - name: clean disk |
| run: | |
| sudo swapoff -a |
| sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android /opt/ghc |
| sudo apt clean |
| docker rmi $(docker images -q) -f |
| df -h |
| |
| - name: publish |
| env: |
| GH_TOKEN: ${{ secrets.PULSARBOT_TOKEN }} |
| CROWDIN_DOCUSAURUS_API_KEY: ${{ secrets.PULSAR_CROWDIN_DOCUSAURUS_API_KEY }} |
| run: | |
| export CROWDIN_DOCUSAURUS_PROJECT_ID=apache-pulsar |
| echo "Copying swagger json file ..." |
| mkdir -p site2/website/static/swagger/master/ |
| cp pulsar-broker/target/docs/swagger*.json site2/website/static/swagger/master |
| echo "Copied swagger json file." |
| echo "Building Website" |
| # Build the new website |
| site2/tools/docker-build-site.sh |
| # Script was initially made for travis |
| bash -e site2/tools/publish-website.sh |