Merge pull request #56 from ministryofjustice/MOJ-Documentation-Template #33
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 documentation | |
on: push | |
# GITHUB_TOKEN permissions to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
# Allow one concurrent deployment | |
concurrency: | |
group: "pages" | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: | |
image: ministryofjustice/tech-docs-github-pages-publisher:v3 | |
permissions: | |
contents: read | |
steps: | |
# We only checkout the docs directory, which allows us to keep all necessary files for | |
# generating the docs separate from the app. | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: | | |
docs | |
sparse-checkout-cone-mode: false | |
# We move the docs directory to the root so it is treated as if the docs directory was | |
# the only thing in the repository. | |
- name: Move directory to root | |
run: | | |
mv docs/* . | |
rm -rf docs | |
- name: Compile Markdown to HTML and create artifact | |
run: | | |
/scripts/deploy.sh | |
- name: Upload artifact to be published | |
uses: actions/upload-artifact@v4 | |
with: | |
name: github-pages | |
path: artifact.tar | |
retention-days: 1 | |
overwrite: true | |
deploy: | |
needs: build | |
permissions: | |
pages: write # to deploy to Pages | |
id-token: write # to verify the deployment originates from an appropriate source | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Pages | |
uses: actions/configure-pages@v5.0.0 | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 | |
url-check: | |
needs: deploy | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download a Build Artifact from build | |
uses: actions/download-artifact@v4 | |
with: | |
name: github-pages | |
path: github-pages | |
- name: Unpack files and check URL links | |
run: | | |
cd github-pages | |
tar -xvf artifact.tar | |
npm install linkinator | |
npx linkinator . --recurse --markdown \ | |
--skip https://ministryofjustice.github.io/laa-civil-case-api/images/govuk-large.png \ | |
--skip https://moj-documentation-template-civil-case-api.cloud-platform.service.justice.gov.uk/ |