调整组件相关内容 #133
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: Deploy 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: | |
- master | |
paths: | |
- 'Writerside/**' | |
- '.github/workflows/deploy-documentation.yml' | |
# 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: | |
# Name of module and id separated by a slash | |
INSTANCE: Writerside/s4 | |
INSTANCE_NAME: s4 | |
# Replace HI with the ID of the instance in capital letters | |
ARTIFACT: webHelpS42-all.zip | |
# Writerside docker image version | |
# see https://www.jetbrains.com/help/writerside/deploy-docs-to-github-pages.html | |
DOCKER_VERSION: '241.15989' | |
# Add the variable below to upload Algolia indexes | |
# Replace HI with the ID of the instance in capital letters | |
ALGOLIA_ARTIFACT: algolia-indexes-S4.zip | |
ALGOLIA_APP_NAME: VLLZ4JZE8Z | |
ALGOLIA_INDEX_NAME: doc | |
ALGOLIA_KEY: ${{ secrets.ALGOLIA_KEY }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
outputs: | |
config_json: ${{ steps.output-config-json.outputs.config_json }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- 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@v4 | |
with: | |
name: docs | |
path: | | |
artifacts/${{ env.ARTIFACT }} | |
artifacts/report.json | |
public/* | |
retention-days: 7 | |
- name: Upload documentation test reports | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
name: 'report.json' | |
path: | | |
artifacts/report.json | |
retention-days: 7 | |
# Add the step below to upload Algolia indexes | |
- name: Upload algolia-indexes | |
uses: actions/upload-artifact@v4 | |
with: | |
name: algolia-indexes | |
path: artifacts/${{ env.ALGOLIA_ARTIFACT }} | |
retention-days: 7 | |
- name: Unzip artifact | |
run: unzip -O UTF-8 -qq artifacts/${{ env.ARTIFACT }} -d dir | |
- name: Output documentation config.json | |
id: output-config-json | |
run: | | |
echo "config_json=$(cat dir/config.json)" >> $GITHUB_OUTPUT | |
# 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@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 }} | |
# Requires the build job results | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: docs | |
- name: Unzip artifact | |
run: unzip -O UTF-8 -qq artifacts/${{ env.ARTIFACT }} -d dir | |
- name: Copy public | |
run: cp -r public/* 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 | |
# https://www.jetbrains.com/help/writerside/configure-search.html | |
publish-indexes: | |
# Requires the build-job results | |
needs: [build, test] | |
runs-on: ubuntu-latest | |
container: | |
image: registry.jetbrains.team/p/writerside/builder/algolia-publisher:2.0.32-3 | |
env: | |
CONFIG_JSON_VERSION: ${{ fromJSON(needs.build.outputs.config_json).productVersion }} | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
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.INSTANCE_NAME}} \ | |
--version ${{env.CONFIG_JSON_VERSION}} \ | |
--index-directory algolia-indexes/ \ | |
2>&1 | tee algolia-update-index-log.txt | |