name: docs concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true on: push: branches: - main paths: - .github/workflows/docs.yml - dockerfiles/docs.Dockerfile - docs/** workflow_dispatch: pull_request: jobs: # Build job build: runs-on: ubuntu-latest permissions: contents: read # Build the site and upload artifacts using actions/upload-pages-artifact steps: - name: Setup Pages id: pages uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0 - name: Build docs uses: docker/bake-action@82490499d2e5613fcead7e128237ef0b0ea210f7 # v7.0.0 with: targets: docs-export provenance: false set: | *.cache-from=type=gha,scope=docs *.cache-to=type=gha,scope=docs,mode=max - name: Fix permissions run: | chmod -c -R +rX "./build/docs" | while read line; do echo "::warning title=Invalid file permissions automatically fixed::$line" done - name: Upload Pages artifact uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 with: path: ./build/docs # Deploy job deploy: if: github.event_name != 'pull_request' # Add a dependency to the build job needs: build # Grant GITHUB_TOKEN the permissions required to make a Pages deployment permissions: pages: write # to deploy to Pages id-token: write # to verify the deployment originates from an appropriate source # Deploy to the github-pages environment environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} # Specify runner + deployment step runs-on: ubuntu-latest steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0