Skip to content

triage: bootc-dev/bootc#2575 (operator request, cgwalters-forge/tracker#707) #25

Open

Description

@cgwalters-bot

A devspace run for the operator's request on bootc-dev/bootc#2575, relayed in cgwalters-forge/tracker#707. The run answers here, because the run profile takes an issue as its item.

Generated-by: https://github.com/cgwalters/#llms

Activity

  1. cgwalters-bot commented on Oct 20, 2026

    @cgwalters-bot
    CollaboratorAuthor

    ✅ agent ended well and handed back no result. Its reason:

    create_pull_request against bootc-dev/bootc (with .github/ allowed) and add_comment: This run's handback can only propose a pull request against bootc-dev/cgwalters-devspace-sandbox and allows no add_comment. The task needs a PR against bootc-dev/bootc main, which edits .github/workflows/ci.yml (a .github/ path the handback refuses) and th
    [Content truncated due to length]
    alternatives: Re-run with the bootc-dev/bootc checkout as the target repository, an implement profile that permits .github/workflows changes, and add_comment enabled for #25. The exact diff is in the latest bot comment on issue #25.

  2. cgwalters-bot commented on Oct 20, 2026

    @cgwalters-bot
    CollaboratorAuthor

    Triage of the request on bootc-dev/bootc#2575 to drop grub-cc testing until grub-cc is supported in practice.

    Short answer: No one has acted on it. #2575 merged as-is, and main still builds grub-cc test images from the pinned Koji build. The diff below drops it.

    Verified

    • The review (an approval with the comment) was on the PR's only commit, 9ee1ae94. No commits were pushed after it, and the PR merged on 2026-10-16 as 3c5d235a with the Koji pin.
    • No open or merged follow-up PR drops grub-cc. I searched bootc PRs for "grub-cc" and the PR author's recent PRs.
    • On main at de7ae55a, grub-cc is tested here:
      • .github/workflows/ci.yml:304: bootloader: ["grub", "grub-cc", "systemd"] in the test-integration matrix.
      • .github/workflows/ci.yml:338-350: the grub-cc exclusions (only F44, composefs, unsealed).
      • Dockerfile:151-167: downloads grub2-efi-{x64,aa64}-cc-2.12-60.eln156 from kojipkgs.fedoraproject.org.
      • Dockerfile:169-186: unpacks it to /usr/lib/grub-cc/grub-cc.efi.
    • No other workflow under .github/ mentions grub-cc.
    • The x86_64 RPM URL still returned HTTP 200 today. I could not check whether the build has a tag that protects it from garbage collection.

    Proposed diff (against de7ae55a)

    This drops the matrix entry, its exclusions, and the Koji fetch. The Rust support for --bootloader=grub-cc, the tmt tests that branch on it, and the docs are left alone, so only the CI coverage goes.

    --- a/.github/workflows/ci.yml
    +++ b/.github/workflows/ci.yml
    @@ -301,7 +301,7 @@ jobs:
             test_os: ${{ fromJson(needs.compute-ci-level.outputs.integration_os_matrix) }}
             variant: [ostree, composefs]
             filesystem: ["ext4", "xfs"]
    -        bootloader: ["grub", "grub-cc", "systemd"]
    +        bootloader: ["grub", "systemd"]
             boot_type: ["bls", "uki"]
             seal_state: ["sealed", "unsealed"]
     
    @@ -335,20 +335,6 @@ jobs:
               - variant: ostree
                 bootloader: systemd
     
    -          # For now only have grub-cc tests in F44
    -          - test_os: fedora-45
    -            bootloader: grub-cc
    -          - test_os: centos-9
    -            bootloader: grub-cc
    -          - test_os: centos-10
    -            bootloader: grub-cc
    -          # Not in ostree
    -          - variant: ostree
    -            bootloader: grub-cc
    -          # Not yet "sealed"
    -          - bootloader: grub-cc
    -            seal_state: sealed
    -
         runs-on: ubuntu-26.04
     
         steps:
    --- a/Dockerfile
    +++ b/Dockerfile
    @@ -147,43 +147,6 @@ RUN --mount=type=tmpfs,target=/run --mount=type=tmpfs,target=/tmp \
         if [[ ${#pkgs_to_install[@]} -gt 0 ]]; then
             dnf install -y "${pkgs_to_install[@]}"
         fi
    -
    -    if [[ "$bootloader" == "grub-cc" ]]; then
    -        case "$(uname -m)" in
    -            x86_64)
    -                grub_cc_url=https://kojipkgs.fedoraproject.org/packages/grub2/2.12/60.eln156/x86_64/grub2-efi-x64-cc-2.12-60.eln156.x86_64.rpm
    -                ;;
    -            aarch64)
    -                grub_cc_url=https://kojipkgs.fedoraproject.org/packages/grub2/2.12/60.eln156/aarch64/grub2-efi-aa64-cc-2.12-60.eln156.aarch64.rpm
    -                ;;
    -            *)
    -                echo "Unsupported architecture: $(uname -m)" >&2
    -                exit 1
    -                ;;
    -        esac
    -
    -        curl --fail --location --retry 5 --retry-all-errors --retry-delay 1 \
    -            --output /var/grub-cc.rpm "$grub_cc_url"
    -    fi
    -
    -    # Currently dnf installs grub-cc at /usr/lib/efi/grub2/1:2.12-60.eln156/EFI/eln/cc/grubx64-cc.efi
    -    # which is less than ideal because: 
    -    # - the "cc" subdirectory
    -    # - no support for installing grub-cc in bootupd
    -    #
    -    # So we move the binary to /usr/lib/grub-cc/grub-cc.efi so we have a predictale location from which
    -    # we can copy the EFI binary to the ESP
    -    if [[ "$bootloader" == "grub-cc" ]]; then
    -        mkdir /var/grub-cc
    -        rpm2archive /var/grub-cc.rpm > /tmp/grub-cc.tar.gz
    -        tar -xvz -f /tmp/grub-cc.tar.gz -C /var/grub-cc
    -        file=$(find /var/grub-cc -name '*.efi')
    -        mkdir -p /usr/lib/grub-cc
    -        cp "$file" /usr/lib/grub-cc/grub-cc.efi
    -    fi
    -
    -    rm -rvf /var/grub-cc
    -    rm -rvf /var/grub-cc.rpm
     EOF
     
     # Note we don't do any customization here yet

    The ci.yml hunks alone are enough to stop CI testing grub-cc. The Dockerfile hunk removes the Koji dependency itself, so it doesn't break later. After it, a local just bootloader=grub-cc build gives an image without /usr/lib/grub-cc/grub-cc.efi, and installing that image with grub-cc fails at "Copying grub-cc binary". That seems acceptable while grub-cc is unsupported.

    How it was checked, and what wasn't

    • The diff was produced with git diff from an edited checkout of main.
    • The edited ci.yml parses as YAML. The resulting bootloader list is ["grub", "systemd"], and no exclusion mentions grub-cc.
    • No grub-cc or koji string is left in Dockerfile or .github/.
    • Not run: the CI workflow, an image build, or actionlint (not available).
    • Inferred, not tested: that GitHub Actions accepts the reduced matrix. Every remaining exclusion uses only values that are still in the matrix.

    Generated by agent · ◷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions