Skip to content

ci: Fix docs-only detection in compute-ci-level - #2394

Open
gursewak1997 wants to merge 4 commits into
bootc-dev:mainfrom
gursewak1997:ci-skip-md-docs-v2
Open

ci: Fix docs-only detection in compute-ci-level#2394
gursewak1997 wants to merge 4 commits into
bootc-dev:mainfrom
gursewak1997:ci-skip-md-docs-v2

Conversation

@gursewak1997

Copy link
Copy Markdown
Contributor

The previous attempt (merged in #2391) failed silently because compute-ci-level had no checkout step, so gh pr diff could not infer the repository and produced empty output. The pipe into grep swallowed the error, setting docs_only=true for all PRs.

Fix by adding a sparse checkout for PR events, separating the gh pr diff fetch from the grep so failures abort via set -euo pipefail, and guarding empty output explicitly.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Fixes docs-only CI detection so diff failures no longer silently skip heavy tests.

Changes:

  • Adds sparse checkout for pull request events.
  • Separates diff retrieval from classification and rejects empty output.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/ci.yml Outdated
The previous attempt (merged in bootc-dev#2391) failed silently because
compute-ci-level had no checkout step, so gh pr diff could not
infer the repository and produced empty output. The pipe into
grep swallowed the error, setting docs_only=true for all PRs.

Fix by adding a sparse checkout for PR events, separating the
gh pr diff fetch from the grep so failures abort via set -euo
pipefail, and guarding empty output explicitly.

Assisted-by: AI
Signed-off-by: gursewak1997 <gursmangat@gmail.com>
cgwalters
cgwalters previously approved these changes Aug 19, 2026
@cgwalters
cgwalters enabled auto-merge (rebase) August 19, 2026 20:32
@github-actions github-actions Bot added the area/ostree Issues related to ostree label Aug 20, 2026
@Johan-Liebert1

Copy link
Copy Markdown
Collaborator

Hmm.. Test Install still failing

`priv-integration.sh` was hanging at the chunkah step where we mount an
entire image inside a podman container. In the logs I can see
`overlay.mount_program=/usr/local/bin/fuse-overlayfs` which might be
causing the test to timeout since fuse-overlayfs is pretty slow and the
image has tons of layers.

Switch to native overlay diff which hopefully fixes the issue

Also, skip networking for chunkah container as I see podman hanging at

```
time="2026-08-20T07:45:34Z" level=debug msg="Adding mount /dev"
time="2026-08-20T07:45:34Z" level=debug msg="Adding mount /dev/pts"
time="2026-08-20T07:45:34Z" level=debug msg="Adding mount /dev/mqueue"
time="2026-08-20T07:45:34Z" level=debug msg="Adding mount /sys"
time="2026-08-20T07:45:34Z" level=debug msg="Adding mount /sys/fs/cgroup"
time="2026-08-20T07:45:34Z" level=debug msg="Successfully loaded 1 networks"
```

Convert the image to an oci dir instead of trying to mount the entire
image

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
@cgwalters

Copy link
Copy Markdown
Collaborator

My offhand guess around the install test is that some package got updated. I have an agent looking at this.

For now, I'd vote to just make it non-gating.

@Johan-Liebert1

Copy link
Copy Markdown
Collaborator

Yeah, sgtm. Every podman command is just hanging indefinitely

@cgwalters cgwalters self-assigned this Aug 20, 2026
@cgwalters

Copy link
Copy Markdown
Collaborator

OK, I'll take this

This job has been hanging in the chunkah/podman step for hours even
after the native-overlay fix in the previous commit, likely blocking
this PR and others behind unrelated CI infrastructure flakiness.

Disable it for now via if: false (same pattern used for test-coreos)
so it reports as skipped rather than pending/failed, and doesn't block
required-checks-heavy. Re-enable once the hang is root-caused.

Assisted-by: AI
Signed-off-by: Colin Walters <walters@verbum.org>
CentOS 10 UKI CI jobs fail "bootc container export --format=tar" with
"No label found in policy ... for /var/tmp/rhc". rhc's post-install
scriptlet drops runtime state under /var/tmp during image build (same
rhc-1:0.3.12-1.el10 build in both passing and failing CI runs, so this
isn't a version regression in rhc itself), and the SELinux targeted
policy simply has no file-context entry for it. This only reproduces
reliably on the composefs+uki matrix legs, likely because that build
path takes long enough for the scriptlet's async write to land before
the image layer is committed - the file can be present or absent on
other legs depending on timing.

Rather than trying to tolerate arbitrary unlabeled paths anywhere in
the tree (which risks silently exporting genuinely mislabeled files),
extend the existing SKIP_PATHS list to always exclude /tmp and
/var/tmp. These are meant to hold only ephemeral, runtime-created
content - ostree-ext::commit's FORCE_CLEAN_PATHS already treats the
same two paths (plus /run and /var/cache) this way for regular ostree
commits, so tar export dropping them is consistent with how bootc
already treats the real /var as not being part of the shippable
content.

Add a unit test exercising export_filesystem_walk() directly (with
SELinux labeling disabled) against a synthetic root, verifying /tmp
and /var/tmp content is dropped while everything else is kept.

Assisted-by: AI
Signed-off-by: Colin Walters <walters@verbum.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ostree Issues related to ostree

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants