Skip to content

build-wayblue

build-wayblue #684

Workflow file for this run

name: build-wayblue
on:
schedule:
- cron: "00 5 * * *" # build at 5:00 UTC every day
push:
paths-ignore: # don't rebuild if only documentation has changed
- "**.md"
workflow_dispatch: # allow manually triggering builds
jobs:
bluebuild:
name: Build wayblue
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
strategy:
fail-fast: false # stop GH from cancelling all matrix builds if one fails
matrix:
recipe:
- recipe-sway.yml
- recipe-sway-nvidia.yml
- recipe-sway-nvidia-open.yml
- recipe-hyprland.yml
- recipe-hyprland-nvidia.yml
- recipe-hyprland-nvidia-open.yml
- recipe-river.yml
- recipe-river-nvidia.yml
- recipe-river-nvidia-open.yml
- recipe-wayfire.yml
- recipe-wayfire-nvidia.yml
- recipe-wayfire-nvidia-open.yml
- recipe-sway-gdm.yml
- recipe-sway-nvidia-gdm.yml
- recipe-sway-nvidia-open-gdm.yml
- recipe-hyprland-gdm.yml
- recipe-hyprland-nvidia-gdm.yml
- recipe-hyprland-nvidia-open-gdm.yml
- recipe-river-gdm.yml
- recipe-river-nvidia-gdm.yml
- recipe-river-nvidia-open-gdm.yml
- recipe-wayfire-gdm.yml
- recipe-wayfire-nvidia-gdm.yml
- recipe-wayfire-nvidia-open-gdm.yml
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Add yq (for reading recipe.yml)
uses: mikefarah/[email protected]
- name: Gather image data from recipe
run: |
echo "IMAGE_NAME=$(yq '.name' ./recipes/${{ matrix.recipe }})" >> $GITHUB_ENV
echo "IMAGE_MAJOR_VERSION=$(yq '.image-version' ./recipes/${{ matrix.recipe }})" >> $GITHUB_ENV
BASE_IMAGE=$(yq '.base-image' ./recipes/${{ matrix.recipe }})
echo "BASE_IMAGE_NAME=$(echo $BASE_IMAGE | sed 's/.*\/.*\///')" >> $GITHUB_ENV
- name: Validate kernel and kmod versions
uses: Wandalen/[email protected]
with:
attempt_limit: 3
attempt_delay: 15000
command: |
set -eo pipefail
linux=$(skopeo inspect docker://ghcr.io/ublue-os/main-kernel:41 | jq -r '.Labels["ostree.linux"]')
AKMODS_KERNEL_VERSION=$(skopeo inspect docker://ghcr.io/ublue-os/akmods:main-41 | jq -r '.Labels["ostree.linux"]')
if [[ "${linux}" != "${AKMODS_KERNEL_VERSION}" ]]; then
echo "Kernel Versions do not match between AKMODS and Cached-Kernel."
exit 1
fi
echo "KERNEL_VERSION=$linux" >> $GITHUB_ENV
- name: Build wayblue
uses: blue-build/[email protected]
with:
cli_version: v0.8.20
recipe: ${{ matrix.recipe }}
cosign_private_key: ${{ secrets.SIGNING_SECRET }}
registry_token: ${{ github.token }}
pr_event_number: ${{ github.event.number }}