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: jobs: # Build job build: runs-on: ubuntu-latest permissions: contents: read # Build the site and upload artifacts using actions/upload-pages-artifact steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Pages id: pages uses: actions/configure-pages@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build docs uses: docker/bake-action@v4 with: files: | docker-bake.hcl targets: docs-export set: | *.cache-from=type=gha,scope=docs *.cache-to=type=gha,scope=docs,mode=max env: DOCS_BASEURL: ${{ steps.pages.outputs.base_path }} - 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@v3 with: path: ./build/docs # Deploy job deploy: # 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@v4 # or the latest "vX.X.X" version tag for this action