Support rpm-based and apk-based runners in job-level and workflow-level instrumentation#3268
Draft
Copilot wants to merge 19 commits into
Draft
Support rpm-based and apk-based runners in job-level and workflow-level instrumentation#3268Copilot wants to merge 19 commits into
Copilot wants to merge 19 commits into
Conversation
…el instrumentation - Update shared install.sh to detect OS type (dpkg/rpm/apk) and install the correct package format with the appropriate package manager - Update workflow, repository, and checksuite callers to invoke install.sh for rpm and apk systems too (not just dpkg) - Limit caching optimization in job-level instrumentation to Debian only - Add rpm and apk support for otelcol-contrib installation in job-level - Add job-rpm test using Red Hat UBI9 container image Co-authored-by: plengauer <100447901+plengauer@users.noreply.github.com> Agent-Logs-Url: https://github.com/plengauer/Thoth/sessions/a8d32120-5c08-4eba-aa58-2e031cb93188
Copilot
AI
changed the title
[WIP] Implement support for rpm-based runners in instrumentation
Support rpm-based and apk-based runners in job-level and workflow-level instrumentation
Mar 24, 2026
plengauer
requested changes
Mar 24, 2026
…all unconditionally, add job-apk test - Refactor install.sh: install_package is the only OS-specific function, accepts multiple args, is exported and used by ensure_installed - Remove conditional around install.sh calls in checksuite, repository, and workflow main.sh - call unconditionally - Add job-apk test using alpine:latest container Co-authored-by: plengauer <100447901+plengauer@users.noreply.github.com> Agent-Logs-Url: https://github.com/plengauer/Thoth/sessions/a024e1b9-d469-47ee-a982-de657b789fe7
Contributor
Author
All feedback addressed in 33e1574:
|
Add a conditional definition for sudo if not available.
Owner
|
@copilot rebase and resolve conflicts |
…ased-runners # Conflicts: # actions/instrument/shared/install.sh Co-authored-by: plengauer <100447901+plengauer@users.noreply.github.com>
Contributor
Author
Owner
|
@copilot resolve the merge conflicts in this pull request |
…ased-runners # Conflicts: # .github/workflows/observability_workflow.yml Co-authored-by: plengauer <100447901+plengauer@users.noreply.github.com>
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Instrumentation actions blindly assumed Debian runners—fetching
.deband callingapt-get—causing failures on RPM-based runners (type: dpkg: not found, thenotelapi.sh: No such file or directory).Shared install logic (
actions/instrument/shared/install.sh)dpkg/rpm/apkpresence and setpkg_extandinstall_packageaccordinglyinstall_packageis the only OS-specific function, exported and accepting multiple arguments;ensure_installedis a single common function that uses it viaxargsdnf→yum→zypper→rpmfallback chainapk add --allow-untrustedCallers (
workflow/main.sh,repository/main.sh,checksuite/main.sh)install.shunconditionally (it's always one of the three package managers)Job-level (
inject_and_init.sh)@actions/cacherestore/save, fast deb install) behindtype dpkgotelcol-contribdownload and installTests
job-rpmtest job usingcontainer: registry.access.redhat.com/ubi9:latestwith a simple hello-world stepjob-apktest job usingcontainer: alpine:latestwith a simple hello-world stepOriginal prompt
This section details on the original issue you should resolve
<issue_title>Support rpm-based runners in job-level and workflow-level instrumentation</issue_title>
<issue_description>in the shared code handlign the install, we shouldnt blindly fetch the debian and install it, but check the OS and fetch the apk/rpm if the os fits. for these new ones, lets not do all the caching opimiztation, just plain fetching and installing. for that, limit the caching optimization for job-level to debians only. debians shall be identified by the presence of dpkg. rpm based on when rpm is present, and alpines in a similar way