| # |
| # 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.class=standard -Dmaven.wagon.http.retryHandler.count=3 |
| |
| jobs: |
| build-website: |
| if: ${{ github.repository == 'apache/pulsar' }} |
| name: Build and publish pulsar website |
| runs-on: ubuntu-latest |
| timeout-minutes: 180 |
| steps: |
| - name: checkout |
| uses: actions/checkout@v2 |
| |
| - name: Tune Runner VM |
| uses: ./.github/actions/tune-runner-vm |
| |
| - name: Cache local Maven repository |
| uses: actions/cache@v2 |
| with: |
| path: | |
| ~/.m2/repository/*/*/* |
| !~/.m2/repository/org/apache/pulsar |
| key: ${{ runner.os }}-m2-dependencies-website-${{ hashFiles('**/pom.xml') }} |
| restore-keys: | |
| ${{ runner.os }}-m2-dependencies-all-${{ hashFiles('**/pom.xml') }} |
| ${{ runner.os }}-m2-dependencies-core-modules-${{ hashFiles('**/pom.xml') }} |
| ${{ runner.os }}-m2-dependencies-core-modules- |
| |
| - name: Set up JDK 11 |
| uses: actions/setup-java@v2 |
| with: |
| distribution: 'temurin' |
| java-version: 11 |
| |
| - name: clean disk |
| run: | |
| sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc |
| sudo apt clean |
| docker rmi $(docker images -q) -f |
| df -h |
| |
| - name: run install by skip tests |
| run: mvn -q -B -ntp install -Pcore-modules,-main -DskipTests -DskipSourceReleaseAssembly=true -Dspotbugs.skip=true -Dlicense.skip=true |
| |
| - name: generate swagger json file |
| run: mvn -B -ntp -pl pulsar-broker install -DskipTests -Pswagger |
| |
| - 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 |