Build docs #67
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: '0.14' | |
jobs: | |
build-job: | |
runs-on: ubuntu-latest | |
container: registry.jetbrains.team/p/writerside/builder/writerside-builder:2.1.1481-p3872-df | |
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-2 | |
steps: | |
- 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 |