build-wayblue #684
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: 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 }} |