From 29d7e6cc04631333c2b186130029d9df972c5de3 Mon Sep 17 00:00:00 2001 From: James Reilly Date: Mon, 16 Mar 2026 01:27:07 +0530 Subject: [PATCH 1/2] fix: add gobject-introspection-1.0 BuildRequires to gnome-49 glib2 spec Mock installs /usr/bin/g-ir-scanner (main package) but not gobject-introspection-devel, so meson can't find the .pc file at build time. Mirrors the gnome-50 spec which uses gobject-introspection-devel. Co-Authored-By: Claude Sonnet 4.6 --- src/gnome-49/glib2/glib2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gnome-49/glib2/glib2.spec b/src/gnome-49/glib2/glib2.spec index 6d0db17..09baa0d 100644 --- a/src/gnome-49/glib2/glib2.spec +++ b/src/gnome-49/glib2/glib2.spec @@ -35,6 +35,7 @@ BuildRequires: pkgconfig(zlib) BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: /usr/bin/g-ir-scanner +BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: /usr/bin/rst2man # Dependencies for tests From 8c1a7b34f9d31cd63c96d718fdf72aa451d97589 Mon Sep 17 00:00:00 2001 From: James Reilly Date: Mon, 16 Mar 2026 01:31:15 +0530 Subject: [PATCH 2/2] chore: rename COPR project and sync gnome-50 workflow to gnome-49 naming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename c10s-gnome-50-fresh → c10s-gnome-50 everywhere - Regenerate build-distributed.yml from updated build-order.yml with new tier names matching gnome-49 convention (core-libraries, gtk-core, shell-foundations, gnome-shell, session-layer, etc.) - Rename workflow to "GNOME 50 Distributed Build and Publish" Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/build-distributed.yml | 303 +++++++++++++++--------- AGENTS.md | 4 +- CLAUDE.md | 61 ++++- COPR-AUDIT.md | 2 +- COPR-REPORT.md | 4 +- README.md | 6 +- check_tiers.py | 92 +++++++ gnome50-test.yaml | 38 ++- justfile | 12 +- scripts/copr-build-chain.py | 2 +- 10 files changed, 390 insertions(+), 134 deletions(-) create mode 100644 check_tiers.py diff --git a/.github/workflows/build-distributed.yml b/.github/workflows/build-distributed.yml index 07a57c9..6a1dbca 100644 --- a/.github/workflows/build-distributed.yml +++ b/.github/workflows/build-distributed.yml @@ -1,4 +1,4 @@ -name: Distributed Build and Publish RPMs +name: GNOME 50 Distributed Build and Publish 'on': workflow_dispatch: inputs: @@ -68,6 +68,8 @@ jobs: - src/deps/libldac - src/deps/python-smartypants - src/deps/python-typogrify + - src/deps/gnome50-el10-compat + - src/deps/selinux-policy steps: - name: Checkout uses: actions/checkout@v4 @@ -88,7 +90,7 @@ jobs: name: repo-0 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier base-tools --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -141,13 +143,10 @@ jobs: matrix: package: - src/deps/wayland-protocols - - src/deps/icu + - src/deps/harfbuzz - src/deps/libxcvt - src/deps/shaderc - - src/deps/umockdev - - src/deps/python-dbusmock - src/deps/gi-docgen - - src/deps/avahi steps: - name: Checkout uses: actions/checkout@v4 @@ -168,7 +167,7 @@ jobs: name: repo-1 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier build-tools --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -213,14 +212,14 @@ jobs: name: repo-2 path: local-repo retention-days: 1 - build-icu-full: + build-glib2-bootstrap: needs: consolidate-build-tools runs-on: ubuntu-latest strategy: fail-fast: false matrix: package: - - src/deps/icu + - src/gnome-50/glib2 steps: - name: Checkout uses: actions/checkout@v4 @@ -241,7 +240,7 @@ jobs: name: repo-2 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier glib2-bootstrap --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -257,11 +256,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-icu-full-${{ strategy.job-index }} + name: rpms-glib2-bootstrap-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-icu-full: - needs: build-icu-full + consolidate-glib2-bootstrap: + needs: build-glib2-bootstrap runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -275,7 +274,7 @@ jobs: uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-icu-full-* + pattern: rpms-glib2-bootstrap-* path: local-repo merge-multiple: true - name: Update repo @@ -286,14 +285,17 @@ jobs: name: repo-3 path: local-repo retention-days: 1 - build-glib2-bootstrap: - needs: consolidate-icu-full + build-bootstrap-libs: + needs: consolidate-glib2-bootstrap runs-on: ubuntu-latest strategy: fail-fast: false matrix: package: - - src/gnome-50/glib2 + - src/deps/libei + - src/deps/mozjs140 + - src/deps/libzip + - src/deps/fontconfig steps: - name: Checkout uses: actions/checkout@v4 @@ -314,7 +316,7 @@ jobs: name: repo-3 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier bootstrap-libs --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -330,11 +332,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-glib2-bootstrap-${{ strategy.job-index }} + name: rpms-bootstrap-libs-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-glib2-bootstrap: - needs: build-glib2-bootstrap + consolidate-bootstrap-libs: + needs: build-bootstrap-libs runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -348,7 +350,7 @@ jobs: uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-glib2-bootstrap-* + pattern: rpms-bootstrap-libs-* path: local-repo merge-multiple: true - name: Update repo @@ -359,8 +361,81 @@ jobs: name: repo-4 path: local-repo retention-days: 1 + build-cairo-layer: + needs: consolidate-bootstrap-libs + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + package: + - src/deps/cairo + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Install host dependencies + run: sudo apt-get update -q && sudo apt-get install -y -q podman createrepo-c rpm + - name: Cache CentOS Stream 10 image + uses: actions/cache@v4 + with: + path: /tmp/cs10-image.tar + key: cs10-image-${{ hashFiles('mock/centos-stream-10-ci.cfg') }} + - name: Load or pull image + run: "if [[ -f /tmp/cs10-image.tar ]]; then\n podman load -i /tmp/cs10-image.tar\nelse\n podman pull quay.io/centos/centos:stream10\n podman save -o /tmp/cs10-image.tar quay.io/centos/centos:stream10\nfi\npodman pull ${{ env.MOCK_RUNNER_IMAGE }}\n" + - name: Download previous repo + uses: actions/download-artifact@v4 + with: + name: repo-4 + path: local-repo + - name: Build package + run: "touch .build-marker\nARGS=(--backend podman --tier cairo-layer --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + - name: Find new RPMs + id: find-rpms + run: 'mkdir -p new-rpms + + find local-repo -name "*.rpm" -newer .build-marker -exec cp {} new-rpms/ \; + + count=$(ls -1 new-rpms/*.rpm 2>/dev/null | wc -l) + + echo "count=$count" >> $GITHUB_OUTPUT + + ' + - name: Upload RPMs + if: steps.find-rpms.outputs.count > '0' + uses: actions/upload-artifact@v4 + with: + name: rpms-cairo-layer-${{ strategy.job-index }} + path: new-rpms/*.rpm + retention-days: 1 + consolidate-cairo-layer: + needs: build-cairo-layer + runs-on: ubuntu-latest + steps: + - name: Install createrepo_c + run: sudo apt-get update -q && sudo apt-get install -y -q createrepo-c + - name: Download previous repo + uses: actions/download-artifact@v4 + with: + name: repo-4 + path: local-repo + - name: Download new RPMs + uses: actions/download-artifact@v4 + continue-on-error: true + with: + pattern: rpms-cairo-layer-* + path: local-repo + merge-multiple: true + - name: Update repo + run: createrepo_c --update local-repo + - name: Upload updated repo + uses: actions/upload-artifact@v4 + with: + name: repo-5 + path: local-repo + retention-days: 1 build-gi-bootstrap: - needs: consolidate-glib2-bootstrap + needs: consolidate-cairo-layer runs-on: ubuntu-latest strategy: fail-fast: false @@ -384,10 +459,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-4 + name: repo-5 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier gi-bootstrap --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -415,7 +490,7 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-4 + name: repo-5 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 @@ -429,7 +504,7 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-5 + name: repo-6 path: local-repo retention-days: 1 build-glib2-full: @@ -457,10 +532,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-5 + name: repo-6 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier glib2-full --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -488,7 +563,7 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-5 + name: repo-6 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 @@ -502,7 +577,7 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-6 + name: repo-7 path: local-repo retention-days: 1 build-gi-full: @@ -530,10 +605,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-6 + name: repo-7 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier gi-full --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -561,7 +636,7 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-6 + name: repo-7 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 @@ -575,21 +650,18 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-7 + name: repo-8 path: local-repo retention-days: 1 - build-low-level-libs: + build-core-libraries: needs: consolidate-gi-full runs-on: ubuntu-latest strategy: fail-fast: false matrix: package: - - src/deps/fontconfig - - src/deps/cairo - src/deps/pango - - src/deps/libei - - src/deps/mozjs140 + - src/deps/tinysparql - src/deps/pipewire steps: - name: Checkout @@ -608,10 +680,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-7 + name: repo-8 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier core-libraries --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -627,11 +699,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-low-level-libs-${{ strategy.job-index }} + name: rpms-core-libraries-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-low-level-libs: - needs: build-low-level-libs + consolidate-core-libraries: + needs: build-core-libraries runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -639,13 +711,13 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-7 + name: repo-8 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-low-level-libs-* + pattern: rpms-core-libraries-* path: local-repo merge-multiple: true - name: Update repo @@ -653,16 +725,19 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-8 + name: repo-9 path: local-repo retention-days: 1 - build-gjs: - needs: consolidate-low-level-libs + build-system-tools: + needs: consolidate-core-libraries runs-on: ubuntu-latest strategy: fail-fast: false matrix: package: + - src/deps/umockdev + - src/deps/python-dbusmock + - src/deps/avahi - src/gnome-50/gjs steps: - name: Checkout @@ -681,10 +756,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-8 + name: repo-9 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier system-tools --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -700,11 +775,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-gjs-${{ strategy.job-index }} + name: rpms-system-tools-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-gjs: - needs: build-gjs + consolidate-system-tools: + needs: build-system-tools runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -712,13 +787,13 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-8 + name: repo-9 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-gjs-* + pattern: rpms-system-tools-* path: local-repo merge-multiple: true - name: Update repo @@ -726,17 +801,18 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-9 + name: repo-10 path: local-repo retention-days: 1 - build-gtk-layer: - needs: consolidate-gjs + build-gtk-core: + needs: consolidate-system-tools runs-on: ubuntu-latest strategy: fail-fast: false matrix: package: - src/gnome-50/gsettings-desktop-schemas + - src/gnome-50/gnome-desktop3 - src/deps/gtk4 - src/deps/glycin steps: @@ -756,10 +832,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-9 + name: repo-10 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier gtk-core --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -775,11 +851,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-gtk-layer-${{ strategy.job-index }} + name: rpms-gtk-core-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-gtk-layer: - needs: build-gtk-layer + consolidate-gtk-core: + needs: build-gtk-core runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -787,13 +863,13 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-9 + name: repo-10 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-gtk-layer-* + pattern: rpms-gtk-core-* path: local-repo merge-multiple: true - name: Update repo @@ -801,11 +877,11 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-10 + name: repo-11 path: local-repo retention-days: 1 - build-libadwaita: - needs: consolidate-gtk-layer + build-desktop-foundations: + needs: consolidate-gtk-core runs-on: ubuntu-latest strategy: fail-fast: false @@ -813,7 +889,7 @@ jobs: package: - src/gnome-50/libadwaita - src/gnome-50/xdg-desktop-portal - - src/gnome-50/nautilus + - src/deps/localsearch steps: - name: Checkout uses: actions/checkout@v4 @@ -831,10 +907,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-10 + name: repo-11 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier desktop-foundations --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -850,11 +926,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-libadwaita-${{ strategy.job-index }} + name: rpms-desktop-foundations-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-libadwaita: - needs: build-libadwaita + consolidate-desktop-foundations: + needs: build-desktop-foundations runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -862,13 +938,13 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-10 + name: repo-11 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-libadwaita-* + pattern: rpms-desktop-foundations-* path: local-repo merge-multiple: true - name: Update repo @@ -876,18 +952,18 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-11 + name: repo-12 path: local-repo retention-days: 1 - build-compositor: - needs: consolidate-libadwaita + build-shell-foundations: + needs: consolidate-desktop-foundations runs-on: ubuntu-latest strategy: fail-fast: false matrix: package: + - src/gnome-50/gnome-settings-daemon - src/gnome-50/mutter - - src/gnome-50/xdg-desktop-portal-gnome steps: - name: Checkout uses: actions/checkout@v4 @@ -905,10 +981,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-11 + name: repo-12 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier shell-foundations --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -924,11 +1000,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-compositor-${{ strategy.job-index }} + name: rpms-shell-foundations-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-compositor: - needs: build-compositor + consolidate-shell-foundations: + needs: build-shell-foundations runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -936,13 +1012,13 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-11 + name: repo-12 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-compositor-* + pattern: rpms-shell-foundations-* path: local-repo merge-multiple: true - name: Update repo @@ -950,18 +1026,19 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-12 + name: repo-13 path: local-repo retention-days: 1 - build-shell: - needs: consolidate-compositor + build-gnome-shell: + needs: consolidate-shell-foundations runs-on: ubuntu-latest strategy: fail-fast: false matrix: package: - src/gnome-50/gnome-shell - - src/gnome-50/gnome-settings-daemon + - src/gnome-50/xdg-desktop-portal-gnome + - src/gnome-50/nautilus steps: - name: Checkout uses: actions/checkout@v4 @@ -979,10 +1056,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-12 + name: repo-13 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier gnome-shell --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -998,11 +1075,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-shell-${{ strategy.job-index }} + name: rpms-gnome-shell-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-shell: - needs: build-shell + consolidate-gnome-shell: + needs: build-gnome-shell runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -1010,13 +1087,13 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-12 + name: repo-13 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-shell-* + pattern: rpms-gnome-shell-* path: local-repo merge-multiple: true - name: Update repo @@ -1024,11 +1101,11 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-13 + name: repo-14 path: local-repo retention-days: 1 - build-session: - needs: consolidate-shell + build-session-layer: + needs: consolidate-gnome-shell runs-on: ubuntu-latest strategy: fail-fast: false @@ -1054,10 +1131,10 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-13 + name: repo-14 path: local-repo - name: Build package - run: "touch .build-marker\nARGS=(--backend podman --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" + run: "touch .build-marker\nARGS=(--backend podman --tier session-layer --package ${{ matrix.package }})\nif [[ \"${{ github.event.inputs.force }}\" == \"true\" ]]; then\n ARGS+=(--force)\nfi\n./scripts/build-chain.sh \"${ARGS[@]}\"\n" - name: Find new RPMs id: find-rpms run: 'mkdir -p new-rpms @@ -1073,11 +1150,11 @@ jobs: if: steps.find-rpms.outputs.count > '0' uses: actions/upload-artifact@v4 with: - name: rpms-session-${{ strategy.job-index }} + name: rpms-session-layer-${{ strategy.job-index }} path: new-rpms/*.rpm retention-days: 1 - consolidate-session: - needs: build-session + consolidate-session-layer: + needs: build-session-layer runs-on: ubuntu-latest steps: - name: Install createrepo_c @@ -1085,13 +1162,13 @@ jobs: - name: Download previous repo uses: actions/download-artifact@v4 with: - name: repo-13 + name: repo-14 path: local-repo - name: Download new RPMs uses: actions/download-artifact@v4 continue-on-error: true with: - pattern: rpms-session-* + pattern: rpms-session-layer-* path: local-repo merge-multiple: true - name: Update repo @@ -1099,11 +1176,11 @@ jobs: - name: Upload updated repo uses: actions/upload-artifact@v4 with: - name: repo-14 + name: repo-15 path: local-repo retention-days: 1 publish: - needs: consolidate-session + needs: consolidate-session-layer runs-on: ubuntu-latest steps: - name: Checkout @@ -1117,7 +1194,7 @@ jobs: - name: Download final repo uses: actions/download-artifact@v4 with: - name: repo-14 + name: repo-15 path: local-repo - name: Import GPG key id: import-gpg diff --git a/AGENTS.md b/AGENTS.md index f307088..e91845e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,7 +14,7 @@ When adding or updating packages, adhere to the following priority list: ICU 77 is bundled with packages that require it (e.g., `mozjs140`, `tinysparql`) instead of using a standalone package. This prevents "repo poisoning" and conflicts with EL10's base ICU 74. ## Current Projects -* **`jreilly1821/c10s-gnome-50-fresh`**: GNOME 50 development. +* **`jreilly1821/c10s-gnome-50`**: GNOME 50 development. * **`jreilly1821/c10s-gnome-49`**: GNOME 49 development (forked from GNOME 50). ## Current Status: COPR Build Cycle 1 (2026-03-14) @@ -23,7 +23,7 @@ ICU 77 is bundled with packages that require it (e.g., `mozjs140`, `tinysparql`) * **Secondary Repo (`icu77-el10`)**: * `meson`, `autoconf`, `python-smartypants`, `python-typogrify` (Build tools). * `wayland-protocols`, `shaderc`, `gi-docgen`, `icu`. -* **Main Repo (`c10s-gnome-50-fresh`)**: +* **Main Repo (`c10s-gnome-50`)**: * `libldac`, `gnome50-el10-compat`, `selinux-policy`, `libei`. * `gobject-introspection` (Bootstrap variant). diff --git a/CLAUDE.md b/CLAUDE.md index 5d851bf..1077e03 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -32,7 +32,28 @@ just rsync-test root@ # Sync local-repo/ to remote and test upgrade The main build script (used by CI): ```bash -./scripts/build-chain.sh --help # Tiered build orchestration +./scripts/build-chain.sh --help # Tiered build orchestration (local/CI, podman/mock/native) +``` + +Triggering COPR builds in tier order (e.g. to fill a new chroot): +```bash +# Dry run — shows what would be triggered without submitting +python3 scripts/copr-build-chain.py --dry-run \ + --chroot epel-10-aarch64 \ + --chroot "alma-kitten+epel-10-x86_64_v2" + +# Live run — submits builds tier-by-tier, waits between tiers +python3 scripts/copr-build-chain.py \ + --chroot epel-10-aarch64 \ + --chroot "alma-kitten+epel-10-x86_64_v2" + +# Single tier (useful for re-running a failed tier) +python3 scripts/copr-build-chain.py --tier glib2-bootstrap \ + --chroot epel-10-aarch64 + +# Don't stop on failure (submit all tiers regardless) +python3 scripts/copr-build-chain.py --continue-on-error \ + --chroot epel-10-aarch64 ``` ## Architecture @@ -47,12 +68,34 @@ GitHub Actions → build-chain.sh (reads build-order.yml) CI seeds the local repo from R2 at the start, adds new builds, re-signs, and pushes back—incremental updates only. +#### COPR Bootstrap Chain + +Adding a new chroot (e.g. `epel-10-aarch64`) requires a bootstrap chain because glib2 and gobject-introspection have a circular build dependency: + +``` +glib2 (full) needs gobject-introspection-devel (for GI annotations) +gobject-introspection needs glib2 +``` + +The COPR additional repos are x86_64-only, so aarch64/x86_64_v2 can't get gobject-introspection from there. `copr-build-chain.py` handles this automatically: + +1. Tiers 0–2: base tools (meson, autoconf, harfbuzz, …) +2. **Tier 3 `glib2-bootstrap`**: creates COPR package `glib2-bootstrap` from `glib2-bootstrap.spec` (no GI dep) — separate from the production `glib2` package +3. Tiers 4–5: bootstrap-libs + cairo +4. **Tier 6 `gi-bootstrap`**: creates COPR package `gobject-introspection-bootstrap` from `gobject-introspection-bootstrap.spec` — now g-ir-scanner exists in the buildroot +5. **Tier 7 `glib2-full`**: production `glib2` package now builds (GI available) +6. **Tier 8 `gi-full`**: production `gobject-introspection` package rebuilt against full glib2 +7. Tiers 9–15: full desktop stack + +The bootstrap packages (`glib2-bootstrap`, `gobject-introspection-bootstrap`) are COPR-package-name aliases — they produce the same RPM names but live as separate entries so the production package definitions are never clobbered. + ### Key Files | File | Purpose | |------|---------| | `build-order.yml` | Single source of truth: defines ~80 packages across 13+ dependency tiers | | `scripts/build-chain.sh` | Main build engine; parses build-order.yml; supports podman/mock/native backends | +| `scripts/copr-build-chain.py` | Triggers COPR builds tier-by-tier for one or more chroots; handles bootstrap chain | | `justfile` | Local convenience wrappers (requires `just`) | | `.github/workflows/build.yml` | Primary CI/CD pipeline | | `.github/workflows/build-distributed.yml` | Auto-generated per-tier parallel workflow | @@ -60,12 +103,22 @@ CI seeds the local repo from R2 at the start, adds new builds, re-signs, and pus | `workers/repo-proxy.ts` | Cloudflare Worker for custom domain routing | | `contrib/install.sh` | User-facing install script (detects distro/version) | -### Package Sources +## Package Sources and Priorities + +When adding or updating packages, adhere to the following priority list: +1. **Fedora Rawhide Dist-Git** (`just copr-build `): Use for unmodified packages. +2. **GitHub SCM** (`just copr-scm-build `): Use for modified specs. This is the **preferred method for modified packages** as it tracks changes in this repository. +3. **Local SRPM** (`just copr-srpm-build `): Use only as a last resort. +### GNOME 50 Package Strategy - `src/gnome-50/` — GNOME 50 packages (glib2, gtk4, mutter, gnome-shell, gdm, etc.) - `src/deps/` — Build dependencies not in EL10 repos (meson, mozjs140, pipewire, cairo, etc.) -Each package directory contains a `.spec` file and sources. Some packages have bootstrap variants (e.g., `glib2-bootstrap.spec`, `gobject-introspection-bootstrap.spec`) to break circular dependencies—these build first without certain features, then the full build follows. +## ICU 77 Build-Only Strategy +ICU 77 is a required build-time dependency for several GNOME 50 components but is "poisonous" to the main user repository. +- **Secondary COPR**: `jreilly1821/icu77-el10` contains ICU 77 and its specific build requirements (e.g., `autoconf` 2.72). +- **Configuration**: This repo is added as an **Additional repo** to the main `c10s-gnome-50` project for build-time resolution only. +- **Isolation**: ICU 77 packages should **NOT** be built in or added to the main project's package list. ### Build Targets @@ -128,7 +181,7 @@ Test installs from COPR using a throwaway container — do not use `--skip-broke ```bash podman run --rm quay.io/centos/centos:stream10 bash -c " dnf -y install dnf-plugins-core && - dnf copr enable -y jreilly1821/c10s-gnome-50-fresh && + dnf copr enable -y jreilly1821/c10s-gnome-50 && dnf -y install " ``` diff --git a/COPR-AUDIT.md b/COPR-AUDIT.md index 4877b4e..c6b0564 100644 --- a/COPR-AUDIT.md +++ b/COPR-AUDIT.md @@ -468,7 +468,7 @@ These directories exist in `src/` but the corresponding COPR package is already ### Medium Priority -- [ ] **Switch libgexiv2 from upload to distgit**: The spec is nearly identical to rawhide. Run `copr-cli modify-package --source-type distgit --distgit fedora --committish rawhide jreilly1821/c10s-gnome-50-fresh libgexiv2` (but confirm package name is `libgexiv2` not `gexiv2` in Fedora dist-git). +- [ ] **Switch libgexiv2 from upload to distgit**: The spec is nearly identical to rawhide. Run `copr-cli modify-package --source-type distgit --distgit fedora --committish rawhide jreilly1821/c10s-gnome-50 libgexiv2` (but confirm package name is `libgexiv2` not `gexiv2` in Fedora dist-git). - [ ] **Evaluate mozjs140 release bump**: Our local spec uses `-b4` vs rawhide's `-b3` to ensure version precedence. Document why or switch to a simple `Epoch: 1` approach if needed. diff --git a/COPR-REPORT.md b/COPR-REPORT.md index 0d719a5..90acc87 100644 --- a/COPR-REPORT.md +++ b/COPR-REPORT.md @@ -1,4 +1,4 @@ -# GNOME 50 COPR Project Report: `jreilly1821/c10s-gnome-50-fresh` +# GNOME 50 COPR Project Report: `jreilly1821/c10s-gnome-50` This report details the origin and status of all packages currently tracked in the COPR project. @@ -68,6 +68,6 @@ This report details the origin and status of all packages currently tracked in t * `wayland-protocols` ## Summary of Infrastructure -* **Project**: [jreilly1821/c10s-gnome-50-fresh](https://copr.fedorainfracloud.org/coprs/jreilly1821/c10s-gnome-50-fresh/) +* **Project**: [jreilly1821/c10s-gnome-50](https://copr.fedorainfracloud.org/coprs/jreilly1821/c10s-gnome-50/) * **Chroot**: `epel-10-x86_64` * **Strategy**: Use Rawhide `distgit` for speed and simplicity where possible; override with local SRPMs only for EL10-specific fixes or dependency resolution issues. diff --git a/README.md b/README.md index 238e0fc..f30d695 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # GNOME 50 for CentOS Stream 10 RPM packages bringing GNOME 50 to CentOS Stream 10 (EL10), hosted on -[COPR](https://copr.fedorainfracloud.org/coprs/jreilly1821/c10s-gnome-50-fresh/). +[COPR](https://copr.fedorainfracloud.org/coprs/jreilly1821/c10s-gnome-50/). -Packages are built in COPR (`jreilly1821/c10s-gnome-50-fresh`) targeting `epel-10-x86_64`. +Packages are built in COPR (`jreilly1821/c10s-gnome-50`) targeting `epel-10-x86_64`. Most packages build directly from Fedora Rawhide dist-git. A small set require local spec modifications to work on EL10 — those are documented below. @@ -11,7 +11,7 @@ modifications to work on EL10 — those are documented below. ```bash dnf -y install dnf-plugins-core -dnf copr enable -y jreilly1821/c10s-gnome-50-fresh +dnf copr enable -y jreilly1821/c10s-gnome-50 dnf -y install gnome-shell gdm mutter gnome-session nautilus gnome50-el10-compat ``` diff --git a/check_tiers.py b/check_tiers.py new file mode 100644 index 0000000..62f84d1 --- /dev/null +++ b/check_tiers.py @@ -0,0 +1,92 @@ +import yaml +import subprocess +import json +import os + +ARM_CHROOT = "epel-10-aarch64" +V2_CHROOT = "alma-kitten+epel-10-x86_64_v2" +PROJECT = "jreilly1821/c10s-gnome-50" + +def get_pkg_name(path): + try: + # Find the .spec file in the path + specs = [f for f in os.listdir(path) if f.endswith('.spec') and 'bootstrap' not in f] + if not specs: + specs = [f for f in os.listdir(path) if f.endswith('.spec')] + if not specs: + return os.path.basename(path) + spec_path = os.path.join(path, specs[0]) + name = subprocess.check_output(['rpmspec', '-q', '--qf', '%{name}\n', spec_path], text=True).splitlines()[0] + return name + except Exception: + return os.path.basename(path) + +def get_status(): + print("Fetching latest build statuses from COPR...") + res = subprocess.check_output(['copr-cli', 'monitor', PROJECT, '--fields', 'name,chroot,state', '--output-format', 'json'], text=True) + data = json.loads(res) + + # latest_status[(pkg, chroot)] = state + # monitor output is ordered from newest to oldest usually, let's verify if that's true or just take the first one we see + status_map = {} + for entry in data: + key = (entry['name'], entry['chroot']) + if key not in status_map: + status_map[key] = entry['state'] + return status_map + +def main(): + with open('build-order.yml') as f: + config = yaml.safe_load(f) + + status_map = get_status() + + for tier in config['tiers']: + print(f"Checking tier: {tier['name']}") + packages_to_build = {ARM_CHROOT: [], V2_CHROOT: []} + all_succeeded = True + + tier_pkgs = [] + for pkg_entry in tier['packages']: + path = pkg_entry['path'] + name = get_pkg_name(path) + tier_pkgs.append(name) + + for chroot in [ARM_CHROOT, V2_CHROOT]: + state = status_map.get((name, chroot)) + if state != "succeeded": + print(f" [MISSING/FAILED] {name} in {chroot} (state: {state})") + packages_to_build[chroot].append((name, path)) + all_succeeded = False + else: + # print(f" [OK] {name} in {chroot}") + pass + + if not all_succeeded: + print(f"\nTier '{tier['name']}' is incomplete. Action needed.") + + # Combine by package to avoid duplicate triggers if possible + pkg_map = {} # name -> {'path': path, 'chroots': []} + for chroot, pkgs in packages_to_build.items(): + for name, path in pkgs: + if name not in pkg_map: + pkg_map[name] = {'path': path, 'chroots': []} + pkg_map[name]['chroots'].append(chroot) + + for name, info in pkg_map.items(): + chroots_str = " ".join([f"--chroot {c}" for c in info['chroots']]) + # Special case: icu needs spec_override sometimes, but for now let's just trigger build-package if it exists in copr + # If it doesn't exist or needs special setup, we might need justfile commands + print(f"Triggering build for {name} in {info['chroots']}...") + cmd = f"copr-cli build-package {PROJECT} --name {name} {' '.join(['--chroot ' + c for c in info['chroots']])} --nowait" + # Use justfile command if possible for local paths + # But build-package is safer if it's already set up correctly in COPR + subprocess.run(cmd, shell=True) + + print("\nTriggered all missing builds for this tier. Wait for them to finish.") + return + + print("All tiers are complete!") + +if __name__ == "__main__": + main() diff --git a/gnome50-test.yaml b/gnome50-test.yaml index aa033fe..3c73fa4 100644 --- a/gnome50-test.yaml +++ b/gnome50-test.yaml @@ -1,14 +1,20 @@ vmType: qemu arch: x86_64 cpus: 4 -memory: 4GiB -disk: 20GiB +memory: 8GiB +disk: 40GiB + +video: + display: "vnc" + vga: "std" images: - location: "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2" arch: x86_64 -mounts: [] +mounts: + - location: "~" + writable: true ssh: localPort: 0 @@ -18,5 +24,29 @@ provision: - mode: system script: | #!/bin/bash + set -euxo pipefail + + # Enable our COPR dnf -y install dnf-plugins-core - dnf copr enable -y jreilly1821/c10s-gnome-50-fresh + dnf copr enable -y jreilly1821/c10s-gnome-50 + + # Install GNOME 50 core components + # We install these first to ensure our versions are picked up + dnf -y install \ + gnome-shell \ + gnome-control-center \ + mutter \ + gdm \ + gnome-session-wayland-session \ + gnome-terminal \ + nautilus \ + glib2 + + # Install a minimal graphical environment + dnf -y group install "BaseOS" "Fonts" + + # Enable GDM and set graphical boot + systemctl enable gdm + systemctl set-default graphical.target + + echo "GNOME 50 installation complete. Please reboot if necessary." diff --git a/justfile b/justfile index f9b2235..69759c7 100644 --- a/justfile +++ b/justfile @@ -142,7 +142,7 @@ publish-static: rclone --s3-no-check-bucket copyto contrib/install.sh "r2:${R2_BUCKET}/install.sh" # Build a package in COPR from Fedora Rawhide dist-git (for unmodified packages) -copr-build package project='jreilly1821/c10s-gnome-50-fresh' chroot='epel-10-x86_64': +copr-build package project='jreilly1821/c10s-gnome-50' chroot='epel-10-x86_64': #!/usr/bin/env bash set -euo pipefail copr-cli add-package-distgit {{project}} --name {{package}} --distgit fedora --commit rawhide 2>/dev/null || \ @@ -151,7 +151,7 @@ copr-build package project='jreilly1821/c10s-gnome-50-fresh' chroot='epel-10-x86 # Build a modified package in COPR from our git repo (preferred over copr-srpm-build) # Usage: just copr-scm-build src/deps/gnome-autoar -copr-scm-build path project='jreilly1821/c10s-gnome-50-fresh' chroot='epel-10-x86_64': +copr-scm-build path project='jreilly1821/c10s-gnome-50' chroot='epel-10-x86_64': #!/usr/bin/env bash set -euo pipefail SPEC=$(ls {{path}}/*.spec | grep -v bootstrap | head -n 1) @@ -179,7 +179,7 @@ copr-scm-build path project='jreilly1821/c10s-gnome-50-fresh' chroot='epel-10-x8 copr-cli build-package {{project}} --name "$NAME" --chroot {{chroot}} --nowait # Build a local package in COPR by generating an SRPM first (avoid — use copr-scm-build instead) -copr-srpm-build path project='jreilly1821/c10s-gnome-50-fresh' chroot='epel-10-x86_64': +copr-srpm-build path project='jreilly1821/c10s-gnome-50' chroot='epel-10-x86_64': #!/usr/bin/env bash set -euo pipefail echo "WARNING: copr-srpm-build uploads a local SRPM. Prefer 'just copr-scm-build {{path}}' for modified specs." @@ -198,9 +198,13 @@ copr-srpm-build path project='jreilly1821/c10s-gnome-50-fresh' chroot='epel-10-x copr-cli build {{project}} $SRPM --chroot {{chroot}} --nowait # Check status of builds in the COPR project -copr-status project='jreilly1821/c10s-gnome-50-fresh': +copr-status project='jreilly1821/c10s-gnome-50': copr-cli list-builds {{project}} | head -n 20 +# Watch the COPR project builds in real-time +watch-copr project='jreilly1821/c10s-gnome-49': + copr-cli monitor {{project}} --fields name,chroot,state,url_build_log + # Download and open logs for a specific build ID copr-logs build_id: #!/usr/bin/env bash diff --git a/scripts/copr-build-chain.py b/scripts/copr-build-chain.py index 94980eb..9934cbf 100755 --- a/scripts/copr-build-chain.py +++ b/scripts/copr-build-chain.py @@ -207,7 +207,7 @@ def wait_for_builds(build_ids, project, poll_interval=30): def main(): parser = argparse.ArgumentParser(description="COPR Build Chain Engine") parser.add_argument("--manifest", default="build-order.yml") - parser.add_argument("--project", default="jreilly1821/c10s-gnome-50-fresh") + parser.add_argument("--project", default="jreilly1821/c10s-gnome-50") parser.add_argument("--chroot", action="append", dest="chroots", default=[], help="Chroot(s) to build for (repeatable)") parser.add_argument("--dry-run", action="store_true")