Skip to content

chore: release 3.16.1 (#486) #260

chore: release 3.16.1 (#486)

chore: release 3.16.1 (#486) #260

Workflow file for this run

name: Deploy Docs to Pages
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
jobs:
generate-proto-docs:
name: Generate Proto Docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- run: npm i -g pnpm @antfu/ni
- name: Setup Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4
with:
node-version: '18'
cache: pnpm
- name: Install dependencies
run: nci
# This will be used to avoid the use of the docker image to generate the documentation if the proto files have not changed
- name: Cache Generated Docs from Protos
id: proto-cache
uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4
with:
path: .docs/content/api/*.md
key: proto-v1-${{ hashFiles('Protos/V1/**.proto') }}
- name: Generate protobuf documentation
if: steps.proto-cache.outputs.cache-hit != 'true'
uses: addnab/docker-run-action@4f65fabd2431ebc8d299f8e5a018d79a769ae185 # v3
with:
image: pseudomuto/protoc-gen-doc
options: -v ${{ github.workspace }}/.docs/content/api:/out -v ${{ github.workspace }}/Protos/V1:/protos
run: |
protoc -I/usr/include -Iprotos --doc_out=/out --doc_opt=markdown,tmp.md protos/*.proto
- name: Remove Toc
if: steps.proto-cache.outputs.cache-hit != 'true'
run: node ./scripts/remove-useless-md.mjs .docs/content/api/tmp.md .docs/content/api/1.v1.md
- name: Remove tmp.md
if: steps.proto-cache.outputs.cache-hit != 'true'
run: rm .docs/content/api/tmp.md
build-docs:
name: Build Docs
runs-on: ubuntu-latest
needs: [generate-proto-docs]
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
# Restore API proto documentation
- name: Cache Generated Docs from Protos
id: proto-cache
uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4
with:
path: .docs/content/api/*.md
key: proto-v1-${{ hashFiles('Protos/V1/**.proto') }}
- run: npm i -g pnpm @antfu/ni
- name: Setup Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4
with:
node-version: '18'
cache: pnpm
- name: Install dependencies
run: cd .docs && nci
- name: Use NODE_ENV=production
run: echo "NODE_ENV=production" >> $GITHUB_ENV
- name: Set the site URL
run: echo "NUXT_PUBLIC_SITE_URL=https://aneoconsulting.github.io/ArmoniK.Api/" >> $GITHUB_ENV
- name: Static HTML export with Nuxt
run: cd .docs && nr generate
- name: Upload artifact
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
with:
path: .docs/.output/public
deploy:
needs: [build-docs]
name: Deploy to GitHub Pages
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@decdde0ac072f6dcbe43649d82d9c635fff5b4e4 # v4