Reorder cp
commands to avoid overwriting previously-copied directories
#20
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
# This GitHub Actions workflow creates a production build of the website and deploys it to GitHub Pages. | |
# Reference: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions | |
name: Build and deploy to GitHub Pages | |
on: | |
push: { branches: [ main ] } | |
workflow_dispatch: { } | |
# Reference: https://docs.github.com/en/actions/using-jobs/using-concurrency | |
concurrency: | |
group: github-pages | |
cancel-in-progress: true | |
jobs: | |
# Use existing workflows to compile the legacy documentation. | |
# Reference: https://docs.github.com/en/actions/using-workflows/reusing-workflows#calling-a-reusable-workflow | |
compile-legacy-nmdc-documentation: | |
name: Compile legacy NMDC documentation | |
uses: ./.github/workflows/compile-legacy-nmdc-documentation.yml | |
fetch-and-compile-nmdc-runtime-documentation: | |
name: Fetch and compile NMDC Runtime documentation | |
uses: ./.github/workflows/fetch-and-compile-nmdc-runtime-documentation.yml | |
fetch-and-compile-mag-workflow-documentation: | |
name: Fetch and compile MAG workflow documentation | |
uses: ./.github/workflows/fetch-and-compile-mag-workflow-documentation.yml | |
build: | |
name: Compile main website | |
# This job depends upon other jobs succeeding. | |
# Reference: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idneeds | |
needs: | |
- compile-legacy-nmdc-documentation | |
- fetch-and-compile-nmdc-runtime-documentation | |
- fetch-and-compile-mag-workflow-documentation | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
steps: | |
- name: Check out commit # Docs: https://github.com/actions/checkout | |
uses: actions/checkout@v4 | |
- name: Download all artifacts | |
uses: actions/download-artifact@v4 # Docs: https://github.com/actions/download-artifact | |
with: | |
path: artifacts | |
- name: Assemble website file tree | |
run: | | |
ls -R artifacts | |
mkdir -p _build/html _build/html/legacy _build/html/workflows | |
cp -R content _build/html | |
cp -R artifacts/legacy-nmdc-documentation-as-html _build/html/legacy/nmdc-documentation | |
cp -R artifacts/nmdc-runtime-documentation-as-html _build/html/nmdc-runtime-documentation | |
cp -R artifacts/mag-workflow-documentation-as-html _build/html/workflows/mag-workflow-documentation | |
- name: Save the result for publishing to GitHub Pages # Docs: https://github.com/actions/upload-pages-artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: _build/html | |
deploy: | |
name: Deploy website | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
# Reference: https://github.com/actions/deploy-pages | |
permissions: | |
pages: write | |
id-token: write | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
steps: | |
# Reference: https://github.com/actions/deploy-pages | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |