ci: revert removing coreos-ci Jenkins CI job#3607
Conversation
This partially reverts commit 3a4ced5. Restore .cci.jenkinsfile — the coreos-ci Jenkins pipeline is still in use and should not have been removed.
There was a problem hiding this comment.
Code Review
This pull request introduces a Jenkins pipeline configuration file (.cci.jenkinsfile) to automate building FCOS and running kola tests. The review feedback identifies two issues: an incorrect path to test-suite.log which prevents test logs from being archived, and unquoted shell variables in a comparison test that could lead to syntax errors.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| shwrap("cat test-suite.log || true") | ||
| archiveArtifacts allowEmptyArchive: true, artifacts: 'test-suite.log' |
There was a problem hiding this comment.
The make check command is executed with -C target/c, which means the test-suite.log file is generated inside the target/c/ directory (i.e., target/c/test-suite.log).
Currently, the finally block attempts to cat and archive test-suite.log from the workspace root, where it does not exist. This prevents the test logs from being displayed or archived when a test fails.
Updating the paths to target/c/test-suite.log ensures that the test results are correctly captured and archived.
shwrap("cat target/c/test-suite.log || true")
archiveArtifacts allowEmptyArchive: true, artifacts: 'target/c/test-suite.log'
There was a problem hiding this comment.
this file is as it was before the removal.
In bf59d0c we added `OSTREE_ADMIN_BUILTIN_FLAG_UNLOCKED` to the instutil subcommands, including `set-kargs`. At the time, this flag only controlled sysroot locking, and the commit message notes these commands were "only used by Anaconda" so locking was unnecessary. However, 599ffef later consolidated mount namespace setup into the same `if (!UNLOCKED)` block, so `UNLOCKED` now also means "skip `ostree_sysroot_initialize_with_mount_namespace()`". Without the mount namespace, `_ostree_sysroot_ensure_writable()` is a no-op, and any subsequent write to `/sysroot` fails with EROFS on systems where the sysroot is mounted read-only (the default since composefs). The practical symptom is: $ ostree admin instutil set-kargs --import-proc-cmdline error: mkdir(boot.1.0): Read-only file system Dropping the flag is safe for the installer case: when not booted into an ostree-managed system, `initialize_with_mount_namespace()` returns early (since `root_is_ostree_booted` is FALSE), and the lock acquisition is harmless on a writable target sysroot.
|
Looks like a latent bug was surfaced with the tests I added for kargs, adding the fix here should get the Jenkins tests to just one failure I think. |
This partially reverts commit 3a4ced5.
Restore .cci.jenkinsfile — the coreos-ci Jenkins pipeline is still in use and should not have been removed. The Prow removal (ci/prow/) and the installdeps.sh comment cleanup remain as intended.