Skip to content

Build and deploy to GitHub Pages #39

Build and deploy to GitHub Pages

Build and deploy to GitHub Pages #39

Workflow file for this run

# Workflow for deploying static content to GitHub Pages
name: Build and deploy to GitHub Pages
on:
workflow_run:
workflows: [ "Generate graphics" ]
types:
- completed
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
assemble:
name: Publish all images
if: github.repository == 'quarkusio/benchmarks'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Clone a 404 page # because this is a separate site, it shows the default GitHub 404
run: |
curl https://quarkus.io/404.html > images/404.html
sed -i 's/You have found nowhere/There is no measurement/g' images/404.html
- name: Upload static files as artifact
id: deployment
uses: actions/upload-pages-artifact@v4
# At some point, the directory size will exceed the 1GB official limit and 10GB unofficial limit, and we will have to be more selective about what's included
# (the graphics generator workflow might be where we want to do the discrimination)
with:
path: ./images/
# Deploy job
deploy:
# Add a dependency to the build job
needs: assemble
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4