feat: add fetched field in task status (#475) #250
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 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 |