Skip to content

feat: Python API update sessions service (#470) #247

feat: Python API update sessions service (#470)

feat: Python API update sessions service (#470) #247

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@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- run: npm i -g pnpm @antfu/ni
- name: Setup Node
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
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@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
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@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
# Restore API proto documentation
- name: Cache Generated Docs from Protos
id: proto-cache
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
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@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
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@a753861a5debcf57bf8b404356158c8e1e33150c # v2
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@9dbe3824824f8a1377b8e298bafde1a50ede43e5 # v2