From 4b381a1552495824b0897f0944544f19b76ae3d1 Mon Sep 17 00:00:00 2001 From: wheaney <42350981+wheaney@users.noreply.github.com> Date: Tue, 24 Feb 2026 08:07:49 -0800 Subject: [PATCH] Break up the Github release workflow --- .github/workflows/release.yml | 143 +++++++++++++++++++++++++++++++--- 1 file changed, 133 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4c44159..ace96c9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,7 +41,32 @@ jobs: echo "should-release=true" >> "$GITHUB_OUTPUT" fi - build: + build-libs: + needs: check-version-change + if: needs.check-version-change.outputs.should-release == 'true' + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build library packages + run: | + bin/package_libs + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: release-artifacts-libs + path: out/*.tar.gz + + build-gnome-x86_64: needs: check-version-change if: needs.check-version-change.outputs.should-release == 'true' runs-on: ubuntu-latest @@ -70,24 +95,121 @@ jobs: desktop-file-utils \ appstream - - name: Build library packages + - name: Build Breezy GNOME (x86_64) run: | - bin/package_libs - - - name: Build all packages - run: | - bin/package_all + ARCH=x86_64 bin/package_gnome env: UA_API_SECRET: ${{ secrets.UA_API_SECRET }} - name: Upload artifacts uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-gnome-x86_64 + path: out/*.tar.gz + + build-gnome-aarch64: + needs: check-version-change + if: needs.check-version-change.outputs.should-release == 'true' + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Install build dependencies + run: | + sudo apt-get update -qq + sudo apt-get install -y \ + gnome-shell-extension-prefs \ + meson \ + ninja-build \ + librsvg2-bin \ + libglib2.0-dev \ + gettext \ + wget \ + desktop-file-utils \ + appstream + + - name: Build Breezy GNOME (aarch64) + run: | + ARCH=aarch64 bin/package_gnome + env: + UA_API_SECRET: ${{ secrets.UA_API_SECRET }} + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: release-artifacts-gnome-aarch64 + path: out/*.tar.gz + + build-kwin-steamos: + needs: check-version-change + if: needs.check-version-change.outputs.should-release == 'true' + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Breezy KWin (steamos) + run: | + STEAMOS=1 bin/package_kwin + env: + UA_API_SECRET: ${{ secrets.UA_API_SECRET }} + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: release-artifacts-kwin-steamos + path: out/*.tar.gz + + build-vulkan-x86_64: + needs: check-version-change + if: needs.check-version-change.outputs.should-release == 'true' + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Breezy Vulkan (x86_64) + run: | + ARCH=x86_64 bin/package_vulkan + env: + UA_API_SECRET: ${{ secrets.UA_API_SECRET }} + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: release-artifacts-vulkan-x86_64 path: out/*.tar.gz create-release: - needs: [check-version-change, build] + needs: + - check-version-change + - build-libs + - build-gnome-x86_64 + - build-gnome-aarch64 + - build-kwin-steamos + - build-vulkan-x86_64 if: needs.check-version-change.outputs.should-release == 'true' runs-on: ubuntu-latest permissions: @@ -99,8 +221,9 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - name: release-artifacts + pattern: release-artifacts-* path: artifacts + merge-multiple: true - name: Create Release env: