diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml new file mode 100644 index 0000000..b3630f2 --- /dev/null +++ b/.github/workflows/build-docs.yml @@ -0,0 +1,104 @@ +name: Build documentation + +on: + push: + branches: ["gh-pages"] + workflow_dispatch: + +permissions: + id-token: write + pages: write + +env: + INSTANCE: 'Writerside/upe' + ARTIFACT: 'webHelpUPE2-all.zip' + DOCKER_VERSION: '241.15989' + ALGOLIA_ARTIFACT: 'algolia-indexes-UPE.zip' + ALGOLIA_APP_NAME: '5PWXFRPMT2' + ALGOLIA_INDEX_NAME: 'UniversalPropertyEnhancer' + ALGOLIA_KEY: '${{ secrets.ALGOLIA_KEY }}' + CONFIG_JSON_PRODUCT: 'UPE' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Build docs using Writerside Docker builder + uses: JetBrains/writerside-github-action@v4 + with: + instance: ${{ env.INSTANCE }} + artifact: ${{ env.ARTIFACT }} + docker-version: ${{ env.DOCKER_VERSION }} + + - name: Save artifact with build results + uses: actions/upload-artifact@v4 + with: + name: docs + path: | + artifacts/${{ env.ARTIFACT }} + artifacts/report.json + artifacts/${{ env.ALGOLIA_ARTIFACT }} + retention-days: 7 + test: + needs: build + runs-on: ubuntu-latest + steps: + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: docs + path: artifacts + + - name: Test documentation + uses: JetBrains/writerside-checker-action@v1 + with: + instance: ${{ env.INSTANCE }} + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + needs: [build, test] + runs-on: ubuntu-latest + steps: + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: docs + + - name: Unzip artifact + run: unzip -O UTF-8 -qq '${{ env.ARTIFACT }}' -d dir + + - name: Setup Pages + uses: actions/configure-pages@v4 + + - name: Package and upload Pages artifact + uses: actions/upload-pages-artifact@v3 + with: + path: dir + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 + publish-indexes: + needs: [build, test, deploy] + runs-on: ubuntu-latest + container: + image: registry.jetbrains.team/p/writerside/builder/algolia-publisher:2.0.32-3 + steps: + - name: Download artifact + uses: actions/download-artifact@v4 + with: + name: docs + - name: Unzip artifact + run: | + unzip -O UTF-8 -qq '${{ env.ALGOLIA_ARTIFACT }}' -d algolia-indexes + env algolia-key='${{env.ALGOLIA_KEY}}' java -jar /opt/builder/help-publication-agent.jar \ + update-index \ + --application-name '${{env.ALGOLIA_APP_NAME}}' \ + --index-name '${{env.ALGOLIA_INDEX_NAME}}' \ + --product '${{env.CONFIG_JSON_PRODUCT}}' \ + --index-directory algolia-indexes/ \ + 2>&1 | tee algolia-update-index-log.txt \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 9c55474..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,127 +0,0 @@ -name: Build documentation - -on: - # If specified, the workflow will be triggered automatically once you push to the `main` branch. - # Replace `main` with your branch’s name - push: - branches: ["gh-pages"] - # Specify to run a workflow manually from the Actions tab on GitHub - workflow_dispatch: - -# Gives the workflow permissions to clone the repo and create a page deployment -permissions: - id-token: write - pages: write - -env: - INSTANCE: Writerside/upe - ARTIFACT: webHelpUPE2-all.zip - # Writerside docker image version - DOCKER_VERSION: 233.4797 - - ALGOLIA_ARTIFACT: algolia-indexes-UPE.zip - ALGOLIA_APP_NAME: 5PWXFRPMT2 - ALGOLIA_INDEX_NAME: UniversalPropertyEnhancer - ALGOLIA_KEY: ${{ secrets.ALGOLIA_KEY }} - CONFIG_JSON_PRODUCT: UPE - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Build Writerside docs using Docker - uses: JetBrains/writerside-github-action@v4 - with: - instance: ${{ env.INSTANCE }} - artifact: ${{ env.ARTIFACT }} - docker-version: ${{ env.DOCKER_VERSION }} - - - name: Upload documentation - uses: actions/upload-artifact@v3 - with: - name: docs - path: | - artifacts/${{ env.ARTIFACT }} - artifacts/report.json - retention-days: 7 - - # Add the step below to upload Algolia indexes - - name: Upload algolia-indexes - uses: actions/upload-artifact@v3 - with: - name: algolia-indexes - path: artifacts/${{ env.ALGOLIA_ARTIFACT }} - retention-days: 7 - - # Add the job below and artifacts/report.json on Upload documentation step above if you want to fail the build when documentation contains errors - test: - # Requires build job results - needs: build - runs-on: ubuntu-latest - - steps: - - name: Download artifacts - uses: actions/download-artifact@v1 - with: - name: docs - path: artifacts - - - name: Test documentation - uses: JetBrains/writerside-checker-action@v1 - with: - instance: ${{ env.INSTANCE }} - - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - # Requires the build job results - needs: test - runs-on: ubuntu-latest - steps: - - name: Download artifact - uses: actions/download-artifact@v3 - with: - name: docs - - - name: Unzip artifact - run: unzip -O UTF-8 -qq ${{ env.ARTIFACT }} -d dir - - - name: Setup Pages - uses: actions/configure-pages@v2 - - - name: Upload artifact - uses: actions/upload-pages-artifact@v1 - with: - path: dir - - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v1 - - publish-indexes: - # Requires the build-job results - needs: build - runs-on: ubuntu-latest - container: - image: registry.jetbrains.team/p/writerside/builder/algolia-publisher:2.0.32-2 - - steps: - - name: Download artifact - uses: actions/download-artifact@v3 - with: - name: algolia-indexes - - name: Unzip artifact - run: | - unzip -O UTF-8 -qq ${{ env.ALGOLIA_ARTIFACT }} -d algolia-indexes - env "algolia-key=${{env.ALGOLIA_KEY}}" java -jar /opt/builder/help-publication-agent.jar \ - update-index \ - --application-name ${{env.ALGOLIA_APP_NAME}} \ - --index-name ${{env.ALGOLIA_INDEX_NAME}} \ - --product ${{env.CONFIG_JSON_PRODUCT}} \ - --index-directory algolia-indexes/ \ - 2>&1 | tee algolia-update-index-log.txt