Skip to content

Add weekly forced rebuild workflow (HMS-10237)#101

Merged
lzap merged 2 commits into
osbuild:mainfrom
thozza:HMS-10237
Jun 22, 2026
Merged

Add weekly forced rebuild workflow (HMS-10237)#101
lzap merged 2 commits into
osbuild:mainfrom
thozza:HMS-10237

Conversation

@thozza

@thozza thozza commented Jun 22, 2026

Copy link
Copy Markdown
Member

Introduce a scheduled GitHub Actions workflow that triggers a full CI test cycle and Konflux pipeline rebuild every Wednesday. The workflow bumps a timestamp in the Schutzfile and opens a PR against main, leveraging the existing GitLab CI trigger on Schutzfile changes to force all jobs to run.

I've also had to fix the stream10-installer Containerfile, because the /usr/lib/efi/*/*/EFI path is no longer populated in the image. I was not able to determine the root cause of this issue - IOW what changed. shim package still installs all packages under /boot.

Architectural Changes

The bump logic is extracted into a standalone Python script (schutzbot/bump_rebuild_timestamp.py) rather than inline shell in the workflow, enabling easy local testing and reuse. A new last-forced-rebuild key is added to the Schutzfile's common section, initialized to "000000000000".

Key Changes

  • Add .github/workflows/force-rebuild.yml — scheduled weekly (Wednesday 05:00 UTC) and manual dispatch, creates a PR with the bumped timestamp
  • Add schutzbot/bump_rebuild_timestamp.py — writes current UTC timestamp (YYYYMMDDHHMM) into Schutzfile
  • Seed Schutzfile with last-forced-rebuild field so the first bump produces a clean diff
  • Workflow is idempotent: skips PR creation if one already exists for the same timestamp branch

Testing

  • The Python script can be tested locally by running python3 schutzbot/bump_rebuild_timestamp.py from the repo root
  • Workflow can be triggered manually via workflow_dispatch to verify end-to-end behavior before the first scheduled run

Add a GitHub Actions workflow that bumps a timestamp in the Schutzfile
and opens a PR every Wednesday at 05:00 UTC. Since all GitLab CI jobs
trigger on Schutzfile changes, this forces a full test cycle on the
PR and Konflux pipeline rebuilds after merge.

The bump logic lives in a standalone Python script at
schutzbot/bump_rebuild_timestamp.py for easy local testing. The
timestamp format is YYYYMMDDHHMM (UTC), which is used for both the
Schutzfile value and the branch name to avoid collisions on same-day
manual re-triggers.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
@thozza
thozza requested a review from a team as a code owner June 22, 2026 08:46
@thozza
thozza requested review from avitova, brlane-rht and supakeen and removed request for a team June 22, 2026 08:46
The previous approach of copying EFI files from /usr/lib/efi/*/*/EFI
stopped working on recent c10s images because that path is no longer
populated. Instead, reinstall shim-x64 which installs the required
files directly into /boot/efi/EFI, fulfilling the container-native ISO
contract.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
@thozza
thozza requested review from achilleas-k, croissanne and lzap and removed request for brlane-rht and supakeen June 22, 2026 10:22

@croissanne croissanne left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@lzap
lzap merged commit 964afd0 into osbuild:main Jun 22, 2026
17 checks passed
@thozza
thozza deleted the HMS-10237 branch June 22, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants