name: Build docs on: # 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: PRODUCT: StardustDocs/d ARTIFACT: webHelpD2-all.zip ALGOLIA_ARTIFACT: algolia-indexes-D.zip ALGOLIA_APP_NAME: JWPLKSKZVF ALGOLIA_INDEX_NAME: prod_DATAFRAME_HELP ALGOLIA_KEY: ${{ secrets.ALGOLIA_KEY }} CONFIG_JSON_PRODUCT: Dataframe CONFIG_JSON_VERSION: '1.0' jobs: build-job: runs-on: ubuntu-latest container: registry.jetbrains.team/p/writerside/builder/writerside-builder:2025.04.8412 outputs: artifact: ${{ steps.generate-artifact.outputs.artifact }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Prepare for build run: | apt-get update apt-get install -y zip mkdir -p artifacts - name: Build docs # and include sitemap.xml TODO: uncomment when sitemap.xml is available run: | export DISPLAY=:99 Xvfb :99 & /opt/builder/bin/idea.sh helpbuilderinspect -source-dir . -product $PRODUCT --runner github -output-dir artifacts/ || true test -e artifacts/$ARTIFACT && echo $ARTIFACT exists # cp docs/StardustDocs/sitemap.xml artifacts/sitemap.xml # cd artifacts # zip -r $ARTIFACT sitemap.xml working-directory: ${{ github.workspace }} - name: Upload modified documentation artifact uses: actions/upload-artifact@v4 with: name: help path: artifacts/${{ env.ARTIFACT }} retention-days: 7 - name: Upload algolia-indexes uses: actions/upload-artifact@v4 with: name: algolia-indexes path: artifacts/${{ env.ALGOLIA_ARTIFACT }} retention-days: 7 deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} # Requires the build-job results needs: build-job runs-on: ubuntu-latest steps: - name: Download artifact uses: actions/download-artifact@v4 with: name: help - name: Unzip artifact uses: montudor/action-zip@v1 with: args: unzip -qq ${{ env.ARTIFACT }} -d dir - name: Setup Pages uses: actions/configure-pages@v5 - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: dir - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 publish-indexes: # Requires the build-job results needs: build-job runs-on: ubuntu-latest container: image: registry.jetbrains.team/p/writerside/builder/algolia-publisher:2.0.32-3 steps: # Using v3 for compatibility with algolia-indexes - uses: actions/checkout@v4 - uses: actions/download-artifact@v4 with: name: algolia-indexes - uses: montudor/action-zip@v1 with: args: unzip -qq algolia-indexes-D.zip -d algolia-indexes - run: | 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}} \ --version ${{env.CONFIG_JSON_VERSION}} \ --index-directory algolia-indexes/ \ 2>&1 | tee algolia-update-index-log.txt