Skip to content

Commit

Permalink
add docs release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
BR7RKR committed Dec 25, 2024
1 parent f4bd301 commit 8c4ee31
Show file tree
Hide file tree
Showing 2 changed files with 186 additions and 0 deletions.
185 changes: 185 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
name: Release docs

on:
push:
tags:
- 'docs-v[0-9]+.[0-9]+.[0-9]+'

permissions:
contents: write
id-token: write
pages: write

env:
INSTANCE: 'Writerside/am'
DOCKER_VERSION: '243.21565'
PDF: 'PDF.xml'
CONFIG_JSON_PRODUCT: 'IN'
# ALGOLIA_INDEX_NAME: 'asv.mavlink'

jobs:
build:
runs-on: ubuntu-latest
outputs:
instance_id_upper: ${{ steps.define-ids.outputs.instance_id_upper }}
algolia_artifact: ${{ steps.define-ids.outputs.algolia_artifact }}
artifact: ${{ steps.define-ids.outputs.artifact }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Define instance ID
id: define-ids
run: |
INSTANCE_ID="${INSTANCE#*/}"
INSTANCE_ID_UPPER=$(echo "$INSTANCE_ID" | tr '[:lower:]' '[:upper:]')
ARTIFACT="webHelp${INSTANCE_ID_UPPER}2-all.zip"
ALGOLIA_ARTIFACT="algolia-indexes-${INSTANCE_ID_UPPER}.zip"
echo "INSTANCE_ID_UPPER: $INSTANCE_ID_UPPER"
echo "ARTIFACT: $ARTIFACT"
echo "ALGOLIA_ARTIFACT: $ALGOLIA_ARTIFACT"
echo "INSTANCE_ID_UPPER=$INSTANCE_ID_UPPER" >> $GITHUB_ENV
echo "ARTIFACT=$ARTIFACT" >> $GITHUB_ENV
echo "ALGOLIA_ARTIFACT=$ALGOLIA_ARTIFACT" >> $GITHUB_ENV
echo "instance_id_upper=$INSTANCE_ID_UPPER" >> $GITHUB_OUTPUT
echo "artifact=$ARTIFACT" >> $GITHUB_OUTPUT
echo "algolia_artifact=$ALGOLIA_ARTIFACT" >> $GITHUB_OUTPUT
- name: Build Writerside docs using Docker in ZIP
uses: JetBrains/writerside-github-action@v4
with:
instance: ${{ env.INSTANCE }}
docker-version: ${{ env.DOCKER_VERSION }}
artifact: ${{ env.ARTIFACT }}

- name: Build Writerside docs using Docker in PDF
uses: JetBrains/writerside-github-action@v4
with:
instance: ${{ env.INSTANCE }}
docker-version: ${{ env.DOCKER_VERSION }}
pdf: ${{ env.PDF }}

- name: Save artifact with build results
uses: actions/upload-artifact@v4
with:
name: docs
path: |
artifacts/pdfSource${{ env.INSTANCE_ID_UPPER }}.pdf
artifacts/${{ env.ARTIFACT }}
artifacts/report.json
artifacts/${{ env.ALGOLIA_ARTIFACT }}
retention-days: 1

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 }}

create-release:
needs: [build, test]
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: docs
path: artifacts

- name: Show outputs
run: |
echo "INSTANCE_ID_UPPER: ${{ needs.build.outputs.instance_id_upper }}"
echo "ARTIFACT: ${{ needs.build.outputs.artifact }}"
echo "ALGOLIA_ARTIFACT: ${{ needs.build.outputs.algolia_artifact }}"
- name: Create Release
id: create_release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref }}
name: "Release ${{ github.ref_name }}"
draft: false
prerelease: ${{ contains(github.ref, 'alpha') }}
env:
GITHUB_TOKEN: ${{ secrets.GIHUB_NUGET_AUTH_TOKEN }}

- name: Upload artifact to release
uses: softprops/action-gh-release@v2
with:
files: |
artifacts/pdfSource${{ needs.build.outputs.instance_id_upper }}.pdf
artifacts/${{ needs.build.outputs.artifact }}
artifacts/report.json
artifacts/${{ needs.build.outputs.algolia_artifact }}
env:
GITHUB_TOKEN: ${{ secrets.GIHUB_NUGET_AUTH_TOKEN }}

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: [ build, test, create-release ]
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: docs
path: artifacts

- name: Unzip artifact
run: unzip -O UTF-8 -qq "artifacts/${{ needs.build.outputs.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, create-release, 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
# path: artifacts
# - name: Unzip Algolia artifact
# run: unzip -O UTF-8 -qq "artifacts/${{ needs.build.outputs.algolia_artifact }}" -d algolia-indexes
# - name: Update Algolia Index
# run: |
# if [ -z "${{ secrets.ALGOLIA_KEY }}" ]; then
# echo "ALGOLIA_KEY secret is not set in GitHub Secrets"
# exit 1
# else
# env "algolia-key=${{ secrets.ALGOLIA_KEY }}" java -jar /opt/builder/help-publication-agent.jar \
# update-index \
# --application-name ${{ secrets.ALGOLIA_ID }} \
# --index-name ${{ env.ALGOLIA_INDEX_NAME }} \
# --product ${{ env.CONFIG_JSON_PRODUCT }} \
# --index-directory algolia-indexes/ \
# 2>&1 | tee algolia-update-index-log.txt
# fi
1 change: 1 addition & 0 deletions src/Asv.Mavlink.sln
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution items", "Solution
Directory.Build.props = Directory.Build.props
..\.github\workflows\release_debug_version.yml = ..\.github\workflows\release_debug_version.yml
..\.github\workflows\release-action.yml = ..\.github\workflows\release-action.yml
..\.github\workflows\docs.yml = ..\.github\workflows\docs.yml
EndProjectSection
EndProject
Global
Expand Down

0 comments on commit 8c4ee31

Please sign in to comment.