PUBLISH DOCS #9
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: PUBLISH DOCS | |
on: | |
workflow_dispatch: | |
workflow_call: | |
# or set up your own custom triggers | |
permissions: | |
contents: write # allows the 'Commit' step without tokens | |
jobs: | |
get_history: # create an artifact from the existing documentation builds | |
runs-on: ubuntu-latest | |
steps: | |
- name: get the gh-pages repo | |
uses: actions/[email protected] | |
with: | |
ref: gh-pages | |
- name: tar the existing docs | |
run: | | |
mkdir -p ./docs | |
tar -cvf documentation.tar ./docs | |
- name: create a document artifact | |
uses: actions/[email protected] | |
with: | |
name: documentation | |
path: documentation.tar | |
build: # builds the distribution and then the documentation | |
needs: get_history | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout src | |
uses: actions/[email protected] | |
- run: mkdir -p ./docs | |
- name: Download the existing documents artifact | |
uses: actions/[email protected] | |
with: | |
name: documentation | |
- name: extract documentation.tar/docs | |
run: tar -xf documentation.tar -C ./ | |
- name: clear unnecessary files | |
run: find ./docs -type f -delete | |
- name: Build | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
cache: 'npm' | |
- run: npm ci | |
- run: npm run build # set up 'build' script in your package.json | |
- name: Build documents | |
run: npm run doc #set up 'docs' build script in your package.json | |
- name: tar the new docs | |
run: tar -cvf newdocumentation.tar ./docs | |
- name: create a new document artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: newdocumentation | |
path: newdocumentation.tar | |
commit: # commit the old and new merged documents to gh-pages/docs | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout the gh-pages repo | |
uses: actions/[email protected] | |
with: | |
ref: gh-pages | |
- run: mkdir -p ./docs | |
- name: Download the new documents artifact | |
uses: actions/[email protected] | |
with: | |
name: newdocumentation | |
- run: tar -xf newdocumentation.tar -C ./ | |
- name: delete artifact | |
run: rm newdocumentation.tar | |
- name: commit | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "Continuous Integration" | |
git add . | |
git commit -m "CI updated the documentation" | |
git push |