-
Notifications
You must be signed in to change notification settings - Fork 28
ci: drop openSUSE unstable repo for podman, use runner-provided package #734
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
0008fef
d365fb1
4255f7b
580e47b
08e654e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -16,8 +16,10 @@ env: | |
| DKMS_VER: "6.9.5" | ||
| DKMS_REPO: https://github.com/redhat-cne/netdevsim-dkms.git | ||
| DKMS_BRANCH: main | ||
| PTP_REPO: https://github.com/k8snetworkplumbingwg/ptp-operator.git | ||
| PTP_BRANCH: main | ||
| # Temporary: exercise k8snetworkplumbingwg/ptp-operator#285 (.dockerignore). | ||
| # Revert to k8snetworkplumbingwg/ptp-operator@main after that PR merges. | ||
| PTP_REPO: https://github.com/edcdavid/ptp-operator-upstream.git | ||
| PTP_BRANCH: ci-exclude-local-runs-from-build-context | ||
|
|
||
| jobs: | ||
| # ------------------------------------------------------------------ | ||
|
|
@@ -150,21 +152,12 @@ jobs: | |
| echo "RAM: $(free -h | awk '/Mem:/{print $2}')" | ||
| echo "Kernel: $(uname -r)" | ||
|
|
||
| - name: Install latest podman | ||
| - name: Verify podman and upgrade crun | ||
| run: | | ||
| . /etc/os-release | ||
| sudo mkdir -p /etc/apt/keyrings | ||
| curl -fsSL "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_${VERSION_ID}/Release.key" \ | ||
| | sudo gpg --dearmor --yes -o /etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg | ||
| echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg] \ | ||
| https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_${VERSION_ID}/ /" \ | ||
| | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:unstable.list >/dev/null | ||
| sudo apt-get update | ||
| sudo apt-get install -y podman | ||
| podman --version | ||
| CRUN_VER=1.19.1 | ||
| CRUN_PATH="$(which crun 2>/dev/null || echo /usr/bin/crun)" | ||
| sudo curl -fsSL -o "${CRUN_PATH}" \ | ||
| sudo curl -fsSL --retry 7 --retry-all-errors -o "${CRUN_PATH}" \ | ||
| "https://github.com/containers/crun/releases/download/${CRUN_VER}/crun-${CRUN_VER}-linux-amd64" | ||
| sudo chmod +x "${CRUN_PATH}" | ||
| crun --version | head -1 | ||
|
|
@@ -194,7 +187,9 @@ jobs: | |
|
|
||
| VM_IP=$(hostname -I | awk '{print $1}') | ||
| cd /root/ptp-operator/scripts | ||
| ./run-on-vm.sh --dkms --images "${VM_IP}" | ||
| ./run-on-vm.sh --verbose --dkms --images "${VM_IP}" | ||
|
|
||
| rm -rf /tmp/go-build* /root/.cache/go-build | ||
| BUILD | ||
|
|
||
| - name: Upload image tarball | ||
|
|
@@ -222,36 +217,28 @@ jobs: | |
| echo "RAM: $(free -h | awk '/Mem:/{print $2}')" | ||
| echo "Kernel: $(uname -r)" | ||
|
|
||
| - name: Install latest podman | ||
| - name: Verify podman and upgrade crun | ||
| run: | | ||
| . /etc/os-release | ||
| sudo mkdir -p /etc/apt/keyrings | ||
| curl -fsSL "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_${VERSION_ID}/Release.key" \ | ||
| | sudo gpg --dearmor --yes -o /etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg | ||
| echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg] \ | ||
| https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_${VERSION_ID}/ /" \ | ||
| | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:unstable.list >/dev/null | ||
| sudo apt-get update | ||
| sudo apt-get install -y podman | ||
| podman --version | ||
| CRUN_VER=1.19.1 | ||
| CRUN_PATH="$(which crun 2>/dev/null || echo /usr/bin/crun)" | ||
| sudo curl -fsSL -o "${CRUN_PATH}" \ | ||
| sudo curl -fsSL --retry 7 --retry-all-errors -o "${CRUN_PATH}" \ | ||
| "https://github.com/containers/crun/releases/download/${CRUN_VER}/crun-${CRUN_VER}-linux-amd64" | ||
| sudo chmod +x "${CRUN_PATH}" | ||
| crun --version | head -1 | ||
|
|
||
| - name: Install OpenShift CLI (oc) | ||
| run: | | ||
| if ! command -v oc &>/dev/null; then | ||
| curl -sLO https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux.tar.gz | ||
| curl -sLO --retry 7 --retry-all-errors https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux.tar.gz | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/usr/bin/env bash
set -euo pipefail
workflow=".github/workflows/netdevsim-ci.yml"
rg -n -C 3 'Install OpenShift CLI|openshift-client-linux\.tar\.gz|--retry' "$workflow"
curl --version
curl --manual | grep -E -A 5 -- '--fail|--retry'Repository: redhat-cne/cloud-event-proxy Length of output: 1842 🏁 Script executed: #!/usr/bin/env bash
set -euo pipefail
workflow=".github/workflows/netdevsim-ci.yml"
sed -n '226,234p' "$workflow"
printf '\nRelevant curl options:\n'
curl --help all | grep -E -A 3 -B 1 -- '--fail|--retry-all-errors|--silent|--show-error'
printf '\nCurl exit-code reference:\n'
curl --manual 2>&1 | grep -E -A 6 -B 2 -- '--fail' || trueRepository: redhat-cne/cloud-event-proxy Length of output: 1980 Fail HTTP errors in the At 🤖 Prompt for AI Agents |
||
| sudo tar xzf openshift-client-linux.tar.gz -C /usr/local/bin oc kubectl | ||
| rm -f openshift-client-linux.tar.gz | ||
| fi | ||
| oc version --client | ||
|
|
||
| - name: Install DKMS dependencies | ||
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y dkms gcc make ethtool linuxptp \ | ||
| linux-headers-$(uname -r) \ | ||
| linux-modules-extra-$(uname -r) | ||
|
|
@@ -292,9 +279,18 @@ jobs: | |
|
|
||
| VM_IP=$(hostname -I | awk '{print $1}') | ||
| cd /root/ptp-operator/scripts | ||
| ./run-on-vm.sh --dkms --load /tmp/ptp-images.tar "${VM_IP}" | ||
| ./run-on-vm.sh --verbose --dkms --load /tmp/ptp-images.tar "${VM_IP}" | ||
| LOAD | ||
|
|
||
| - name: "Free disk space before tests" | ||
| run: | | ||
| sudo bash -l <<'CLEANUP' | ||
| set -euo pipefail | ||
| rm -rf /tmp/ptp-images.tar /tmp/ptp-images-load | ||
| rm -rf /tmp/go-build* /var/cache/apt /root/.cache | ||
| df -h | ||
| CLEANUP | ||
|
|
||
| - name: "Run scenario: ${{ matrix.mode }}" | ||
| run: | | ||
| sudo bash -l <<'DEPLOY' | ||
|
|
@@ -305,7 +301,7 @@ jobs: | |
|
|
||
| VM_IP=$(hostname -I | awk '{print $1}') | ||
| cd /root/ptp-operator/scripts | ||
| ./run-on-vm.sh --dkms --deploy "${VM_IP}" --mode "${{ matrix.mode }}" "${VM_IP}" | ||
| ./run-on-vm.sh --verbose --dkms --deploy "${VM_IP}" --mode "${{ matrix.mode }}" "${VM_IP}" | ||
| DEPLOY | ||
|
|
||
| - name: Upload test artifacts | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: redhat-cne/cloud-event-proxy
Length of output: 217
🏁 Script executed:
Repository: redhat-cne/cloud-event-proxy
Length of output: 15797
🏁 Script executed:
Repository: redhat-cne/cloud-event-proxy
Length of output: 1674
🌐 Web query:
GitHub containers/crun release 1.19.1 crun-1.19.1-linux-amd64 SHA256 digest release assets💡 Result:
The official GitHub release page for containers/crun version 1.19.1 does not explicitly list the SHA256 checksums for its binary assets (such as crun-1.19.1-linux-amd64) in the release description or associated metadata [1][2]. While these assets are available for download from the GitHub release page, you should verify their integrity using the detached GPG signatures (.asc files) provided alongside each asset if you require secure verification [1]. In general, official SHA256 checksums for GitHub release assets are not always published directly on the release page. If you are verifying these files, you can generate the checksums yourself after downloading the files to confirm they match the expected values, although official reference hashes for the specific 1.19.1 binaries were not indexed in the searched repositories [1][2]. For context on version 1.19.1, it was published on December 17, 2024, and included fixes such as non-blocking socket handling for TTY reads and cgroup mount improvements [1][3]. Other ecosystem sources, such as Debian or Gentoo package repositories, provide checksums for source tarballs (crun-1.19.1.tar.gz), but these do not substitute for the binary-specific SHA256 digests [4][5][6].
Citations:
🌐 Web query:
site:github.com/containers/crun/releases/tag/1.19.1 crun-1.19.1-linux-amd64.asc💡 Result:
The file crun-1.19.1-linux-amd64.asc is a GPG (GNU Privacy Guard) detached signature file for the crun-1.19.1-linux-amd64 binary [1]. It is provided as part of the 1.19.1 release of crun, a fast and low-memory OCI (Open Container Initiative) container runtime written in C [1]. This.asc file allows users to verify the authenticity and integrity of the corresponding binary (crun-1.19.1-linux-amd64) by confirming it was signed by the project maintainers and has not been tampered with since the signature was generated [1]. Users typically use the gpg command-line utility to perform this verification against the release's public keys.
Citations:
🌐 Web query:
containers crun release detached signature verify binary .asc GPG key💡 Result:
To verify the authenticity of a crun binary release, you should use the GPG detached signature (.asc file) provided alongside the binary on the GitHub release page. The binaries are signed by the project maintainer, Giuseppe Scrivano [1][2]. 1. Prerequisites Ensure you have GnuPG (gpg) installed on your system. 2. Retrieve the Public Key You need the public key belonging to the maintainer to verify the signature. You can retrieve it from a public keyserver or directly from the maintainer's GitHub profile [1]: gpg --recv-key 0x263D6DF2E163E1EA Alternatively, you can fetch it from the URL: https://github.com/giuseppe.gpg 3. Verify the Binary Download both the binary file (e.g., crun-1.28-linux-amd64) and its corresponding detached signature file (e.g., crun-1.28-linux-amd64.asc). Place them in the same directory. Run the following command to verify the signature [1]: gpg --verify crun-1.28-linux-amd64.asc The command will automatically assume the signature applies to the file with the same base name (removing the.asc extension). You should see an output indicating a "Good signature" from the maintainer if the file is authentic [1]. Important Notes: - The GPG key ID associated with these releases is 67E38F7A8BA21772 [2]. - Always ensure you are downloading both files from the official containers/crun GitHub repository to prevent man-in-the-middle attacks. - If you encounter issues, verify that you have successfully imported the correct public key and that the detached signature file is complete and not corrupted [1][3].
Citations:
Verify the
crunrelease before installing it as root.Download the binary and its detached
.ascsignature to temporary files. Verify the signature against a trusted project key, then install the binary withsudo install. Apply this to both jobs.🤖 Prompt for AI Agents