Break up the Github release workflow

This commit is contained in:
wheaney 2026-02-24 08:07:49 -08:00
parent 8c30e876c1
commit 4b381a1552
1 changed files with 133 additions and 10 deletions

View File

@ -41,7 +41,32 @@ jobs:
echo "should-release=true" >> "$GITHUB_OUTPUT" echo "should-release=true" >> "$GITHUB_OUTPUT"
fi 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 needs: check-version-change
if: needs.check-version-change.outputs.should-release == 'true' if: needs.check-version-change.outputs.should-release == 'true'
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -70,24 +95,121 @@ jobs:
desktop-file-utils \ desktop-file-utils \
appstream appstream
- name: Build library packages - name: Build Breezy GNOME (x86_64)
run: | run: |
bin/package_libs ARCH=x86_64 bin/package_gnome
- name: Build all packages
run: |
bin/package_all
env: env:
UA_API_SECRET: ${{ secrets.UA_API_SECRET }} UA_API_SECRET: ${{ secrets.UA_API_SECRET }}
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: 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 path: out/*.tar.gz
create-release: 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' if: needs.check-version-change.outputs.should-release == 'true'
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
@ -99,8 +221,9 @@ jobs:
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
name: release-artifacts pattern: release-artifacts-*
path: artifacts path: artifacts
merge-multiple: true
- name: Create Release - name: Create Release
env: env: