ci: move debug to the weekly profile and trim the catchall variants - #3107
Conversation
…ance The rt-6.18-distro-kvm kernel entry appends ci/qcom-distro-kvm.yml, which includes ci/qcom-distro.yml and so replaces the distro selected earlier in the chain. For the debug and performance rows that turns 32 jobs into qcom-distro builds the qcom-distro row already produces, published under the wrong name. 798c02f excluded nodistro and qcom-distro-catchall for the same reason. Exclude debug and performance the same way. Assisted-by: Claude Code:claude-fable-5 Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
The debug jobs are 62 of the nightly's 129 machine-hours and, at 77 minutes each, the last jobs to finish, for a variant whose value is coverage of DEBUG_BUILD rather than a nightly artifact. The weekly profile exists for exactly this and currently has no rows of its own. Move debug to the weekly profile. Assisted-by: Claude Code:claude-fable-5 Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
The debugfs is a companion rootfs holding every -dbg package, and tarring it with bzip2 takes 1,600-2,000 s per image, 5,500 s on a three-image qcs9100-ride-sx build, by far the biggest task in a debug job. Switch it to zstd, which needs a fraction of the CPU for output about 1-3% larger. The published tarball is renamed from .rootfs-dbg.tar.bz2 to .rootfs-dbg.tar.zst. Assisted-by: Claude Code:claude-fable-5 Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
The three image-level SPDX tasks hash every deployed image twice, for several minutes per image, and some CI variants publish nothing that needs an SBOM. Add ci/nospdx.yml, which drops create-spdx-image-3.0 from IMAGE_CLASSES, the class that defines those tasks; package-level SPDX and its sstate are untouched. Inheriting nospdx instead does not parse: the class lives in classes-recipe, which a configuration-level INHERIT does not search. Assisted-by: Claude Code:claude-fable-5 Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
The artifacts of those variants are never fetched by a test, and the image SBOM costs 1,250 s on a debug job and 340 s on a performance job. Append ci/nospdx.yml to both rows. Assisted-by: Claude Code:claude-fable-5 Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
|
This is a move to push our most expensive runs to weekly, as I don't really think it is worth building debug and performance every day, we don't really test and use that often, and it is the most expensive part of our builds. |
Test Results 119 files + 51 715 suites +396 8h 44m 6s ⏱️ - 2h 52m 57s For more details on these failures, see this check. Results for commit 93bd74e. ± Comparison against base commit bc1ff3a. This pull request removes 2 and adds 22 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
| profile: weekly | ||
| - name: performance | ||
| yamlfile: ':ci/qcom-distro-catchall.yml:ci/performance.yml' | ||
| yamlfile: ':ci/qcom-distro-catchall.yml:ci/performance.yml:ci/nospdx.yml' |
There was a problem hiding this comment.
I thought we could use drop the create-spdx-image-3.0 directly on ci/performance.yml and ci/debug.yml. That way we wouldn't even need the ci/nospdx.yml.
There was a problem hiding this comment.
I think it is still valuable to have that fragment, let's keep this for now and we can revisit if needed.
|
Usual known failures. |
6a1f836
into
qualcomm-linux:master
The debug rows are 62 of the nightly's 129 machine-hours and, at 77 minutes
each, the last jobs to finish. On top of that, the rt-6.18-distro-kvm kernel
entry turns the debug and performance rows into qcom-distro builds the
qcom-distro row already produces, so 32 jobs per run publish a duplicate
under the wrong name.
Drop the hijacked rt-kvm rows of debug and performance, move debug to the
weekly profile (which had no rows of its own), compress the debugfs tarball
with zstd instead of bzip2, and skip the image-level SBOM on debug and
performance through a new ci/nospdx.yml fragment.
The matrix goes from 221 to 189 configurations. Nightly and push runs lose
all debug rows; the weekly keeps them, at a fraction of the cost. The
published debug tarball is renamed from .rootfs-dbg.tar.bz2 to
.rootfs-dbg.tar.zst.