From feec1702a042495e28e779bd284632c6ca811a56 Mon Sep 17 00:00:00 2001 From: Packit Date: Fri, 16 Feb 2024 17:14:11 +0000 Subject: [PATCH 01/13] [packit] 1.14.2 upstream release Upstream tag: 1.14.2 Upstream commit: 32b139f7 --- .gitignore | 1 + README.packit | 2 +- crun.spec | 2 +- sources | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b10d346..3db93c5 100644 --- a/.gitignore +++ b/.gitignore @@ -83,3 +83,4 @@ crun-0.1.1.tar.gz /crun-1.13.tar.xz /crun-1.14.tar.xz /crun-1.14.1.tar.xz +/crun-1.14.2.tar.xz diff --git a/README.packit b/README.packit index 29cc7d8..f592284 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.90.0.post1.dev9+g1f0325d1. +The file was generated using packit 0.91.0.post1.dev4+ge6fd4a25. diff --git a/crun.spec b/crun.spec index 69fe6d4..a883365 100644 --- a/crun.spec +++ b/crun.spec @@ -37,7 +37,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.14.1 +Version: 1.14.2 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz diff --git a/sources b/sources index 21b134f..1a138f6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.14.1.tar.xz) = 4a45941e8257b5180e30bcd5b40837c632261187508693002c02c33764bc8e031a3c9345d8a5e5989a5427c7f237595c457f1eb8cdc7967867976cc4abe6bc5a +SHA512 (crun-1.14.2.tar.xz) = 816598207da38bb172d974b3d45ec2bb1781c202163a409765475aa742e2545f3e9b31e358a6742f05391e0cd6a012e615532b63ba0f445fbb6edb6ae2d120d8 From b980b93f2b1267ddf6c99cef75304945e669f634 Mon Sep 17 00:00:00 2001 From: Packit Date: Sat, 17 Feb 2024 08:34:49 +0000 Subject: [PATCH 02/13] [packit] 1.14.3 upstream release Upstream tag: 1.14.3 Upstream commit: 1961d211 --- .gitignore | 1 + crun.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3db93c5..8f10920 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,4 @@ crun-0.1.1.tar.gz /crun-1.14.tar.xz /crun-1.14.1.tar.xz /crun-1.14.2.tar.xz +/crun-1.14.3.tar.xz diff --git a/crun.spec b/crun.spec index a883365..d48bda1 100644 --- a/crun.spec +++ b/crun.spec @@ -37,7 +37,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.14.2 +Version: 1.14.3 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz diff --git a/sources b/sources index 1a138f6..c99de97 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.14.2.tar.xz) = 816598207da38bb172d974b3d45ec2bb1781c202163a409765475aa742e2545f3e9b31e358a6742f05391e0cd6a012e615532b63ba0f445fbb6edb6ae2d120d8 +SHA512 (crun-1.14.3.tar.xz) = d6645c519ff00dda5def6d58240600d15e76969489918d51c0def2fee7dbad6374f83e5afc14a998d176aa2944765df5cd84c3031b265a1931ab23f2fc965fc1 From 69151b77b6d67cc3c40cf5567fe01f60697e1213 Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 29 Feb 2024 17:46:14 +0000 Subject: [PATCH 03/13] [packit] 1.14.4 upstream release Upstream tag: 1.14.4 Upstream commit: a220ca66 --- .gitignore | 1 + README.packit | 2 +- crun.spec | 6 +++--- sources | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 8f10920..5ac2073 100644 --- a/.gitignore +++ b/.gitignore @@ -85,3 +85,4 @@ crun-0.1.1.tar.gz /crun-1.14.1.tar.xz /crun-1.14.2.tar.xz /crun-1.14.3.tar.xz +/crun-1.14.4.tar.xz diff --git a/README.packit b/README.packit index f592284..31341b6 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.91.0.post1.dev4+ge6fd4a25. +The file was generated using packit 0.93.0. diff --git a/crun.spec b/crun.spec index d48bda1..1cf5209 100644 --- a/crun.spec +++ b/crun.spec @@ -37,7 +37,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.14.3 +Version: 1.14.4 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz @@ -116,11 +116,11 @@ Recommends: wasmedge rm -rf %{buildroot}%{_prefix}/lib* %if %{defined krun_support} -ln -s %{_bindir}/%{name} %{buildroot}%{_bindir}/krun +ln -s %{name} %{buildroot}%{_bindir}/krun %endif %if %{defined wasm_support} -ln -s %{_bindir}/%{name} %{buildroot}%{_bindir}/%{name}-wasm +ln -s %{name} %{buildroot}%{_bindir}/%{name}-wasm %endif %files diff --git a/sources b/sources index c99de97..f2ac790 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.14.3.tar.xz) = d6645c519ff00dda5def6d58240600d15e76969489918d51c0def2fee7dbad6374f83e5afc14a998d176aa2944765df5cd84c3031b265a1931ab23f2fc965fc1 +SHA512 (crun-1.14.4.tar.xz) = 1681ea85de3540958b4d7efadcf22c6f47c991fc4681a5028404952567c0b1b0220ad0ce0e0f0d727da27d8e63495a8bfc43a13b3511b1455106fdfec2e32e49 From 85c350279b90aa4ad46479cf5f3acf5f0b211159 Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 2 May 2024 11:51:36 +0000 Subject: [PATCH 04/13] Update to 1.15 upstream release Upstream tag: 1.15 Upstream commit: e6eacaf4 Commit authored by Packit automation (https://packit.dev/) --- .gitignore | 1 + .packit.yaml | 89 ++++++++++++++++++++++++++++++++++++++++++++++----- README.packit | 2 +- crun.spec | 23 +++++++------ sources | 2 +- 5 files changed, 98 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 5ac2073..573ee2f 100644 --- a/.gitignore +++ b/.gitignore @@ -86,3 +86,4 @@ crun-0.1.1.tar.gz /crun-1.14.2.tar.xz /crun-1.14.3.tar.xz /crun-1.14.4.tar.xz +/crun-1.15.tar.zst diff --git a/.packit.yaml b/.packit.yaml index 2cb0456..734d5a6 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -2,12 +2,22 @@ # See the documentation for more information: # https://packit.dev/docs/configuration/ -specfile_path: rpm/crun.spec +downstream_package_name: crun + +packages: + crun-fedora: + pkg_tool: fedpkg + specfile_path: rpm/crun.spec + crun-centos: + pkg_tool: centpkg + specfile_path: rpm/crun.spec srpm_build_deps: - git-archive-all - make + actions: + # This action runs only on copr build jobs create-archive: - "git-archive-all -v --force-submodules rpm/crun-HEAD.tar.xz" - bash -c "ls -1 rpm/crun-HEAD.tar.xz" @@ -15,7 +25,8 @@ actions: jobs: - job: copr_build trigger: pull_request - notifications: + packages: [crun-fedora] + notifications: &copr_build_failure_notification failure_comment: message: "Ephemeral COPR build failed. @containers/packit-build please check." targets: @@ -23,12 +34,18 @@ jobs: - fedora-all-aarch64 - fedora-eln-x86_64 - fedora-eln-aarch64 - - centos-stream+epel-next-8-x86_64 - - centos-stream+epel-next-8-aarch64 - - centos-stream+epel-next-9-x86_64 - - centos-stream+epel-next-9-aarch64 - additional_repos: - - "copr://rhcontainerbot/podman-next" + + - job: copr_build + trigger: pull_request + packages: [crun-centos] + notifications: *copr_build_failure_notification + targets: + - epel-9-x86_64 + - epel-9-aarch64 + - centos-stream-9-x86_64 + - centos-stream-9-aarch64 + - centos-stream-10-x86_64 + - centos-stream-10-aarch64 # Run on commit to main branch - job: copr_build @@ -40,12 +57,68 @@ jobs: owner: rhcontainerbot project: podman-next + # Podman system tests for Fedora and CentOS Stream + - job: tests + trigger: pull_request + packages: [crun-fedora] + notifications: &podman_system_test_fail_notification + failure_comment: + message: "podman system tests failed. @containers/packit-build please check." + targets: + - fedora-all-x86_64 + - fedora-all-aarch64 + identifier: podman_system_test_fedora + tmt_plan: "/plans/podman_system_test" + + # Podman system tests for Fedora and CentOS Stream + - job: tests + trigger: pull_request + packages: [crun-centos] + notifications: *podman_system_test_fail_notification + targets: + - centos-stream-9-x86_64 + - centos-stream-9-aarch64 + # TODO: Enable cs10 tests after netavark has finished defaulting to + # nftables + #- centos-stream-10-x86_64 + #- centos-stream-10-aarch64 + identifier: podman_system_test_centos + tmt_plan: "/plans/podman_system_test" + + # Podman system tests for RHEL + - job: tests + trigger: pull_request + packages: [crun-centos] + use_internal_tf: true + notifications: *podman_system_test_fail_notification + targets: + epel-9-x86_64: + distros: [RHEL-9.4.0-Nightly,RHEL-9-Nightly] + epel-9-aarch64: + distros: [RHEL-9.4.0-Nightly,RHEL-9-Nightly] + # TODO: Enable cs10 tests after netavark has finished defaulting to + # nftables + #centos-stream-10-x86_64: + # distros: [RHEL-10-Beta-Nightly] + #centos-stream-10-aarch64: + # distros: [RHEL-10-Beta-Nightly] + identifier: podman_system_test_internal + tmt_plan: "/plans/podman_system_test" + - job: propose_downstream trigger: release + packages: [crun-fedora] update_release: false dist_git_branches: - fedora-all + - job: propose_downstream + trigger: release + packages: [crun-centos] + update_release: false + dist_git_branches: + - c10s + - job: koji_build trigger: commit dist_git_branches: diff --git a/README.packit b/README.packit index 31341b6..066b312 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.93.0. +The file was generated using packit 0.95.0.post1.dev8+gce6bd577. diff --git a/crun.spec b/crun.spec index 1cf5209..f8f06c4 100644 --- a/crun.spec +++ b/crun.spec @@ -6,8 +6,11 @@ %ifarch aarch64 || x86_64 %global wasm_support 1 -# wasmedge not present on Fedora ELN environments -%if !0%{?eln} +%if %{defined copr_project} +%define copr_build 1 +%endif + +%if %{defined fedora} || %{defined copr_build} %global wasmedge_support 1 %global wasmedge_opts --with-wasmedge %endif @@ -28,7 +31,7 @@ Summary: OCI runtime written in C Name: crun -%if %{defined copr_username} +%if %{defined copr_build} Epoch: 102 %endif # DO NOT TOUCH the Version string! @@ -37,10 +40,10 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.14.4 +Version: 1.15 Release: %autorelease URL: https://github.com/containers/%{name} -Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz +Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.zst License: GPL-2.0-only %if %{defined golang_arches_future} ExclusiveArch: %{golang_arches_future} @@ -71,11 +74,7 @@ BuildRequires: wasmedge-devel %if %{defined wasmtime_support} BuildRequires: wasmtime-c-api-devel %endif -%if %{defined rhel} && 0%{?rhel} == 8 -BuildRequires: python3 -%else BuildRequires: python -%endif Provides: oci-runtime %description @@ -96,7 +95,13 @@ krun is a symlink to the %{name} binary, with libkrun as an additional dependenc %package wasm Summary: %{name} with wasm support Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +# The hard dep on wasm-library is causing trouble in internal testing farm +# with RHEL. +%if %{defined fedora} Requires: wasm-library +%else +Recommends: wasm-library +%endif Recommends: wasmedge %description wasm diff --git a/sources b/sources index f2ac790..7bf880b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.14.4.tar.xz) = 1681ea85de3540958b4d7efadcf22c6f47c991fc4681a5028404952567c0b1b0220ad0ce0e0f0d727da27d8e63495a8bfc43a13b3511b1455106fdfec2e32e49 +SHA512 (crun-1.15.tar.zst) = a6e141f372817ed8ad1776c3ee272f68fa69680ef4d51b56643c0e4985016a5a6a415cc8623aa211c511916f2c61a417864c24c8d35fde594b624c666a9cca32 From 0bb3cb3ba5c4b728b702e929e4cc12f747607852 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Tue, 10 Sep 2024 15:49:12 +0530 Subject: [PATCH 05/13] bump to 1.17 (cherry picked from commit b8cbee4f4490433121376d2d0266221dc69d1016) --- .fmf/version | 1 + .gitignore | 1 + crun.spec | 42 +++++++++++---------------------------- gating.yaml | 12 +++++++++++ plans/main.fmf | 20 +++++++++++++++++++ sources | 2 +- tests/tmt/Makefile | 3 +++ tests/tmt/main.fmf | 13 ++++++++++++ tests/tmt/podman-tests.sh | 22 ++++++++++++++++++++ 9 files changed, 85 insertions(+), 31 deletions(-) create mode 100644 .fmf/version create mode 100644 gating.yaml create mode 100644 plans/main.fmf create mode 100644 tests/tmt/Makefile create mode 100644 tests/tmt/main.fmf create mode 100644 tests/tmt/podman-tests.sh diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 573ee2f..578a718 100644 --- a/.gitignore +++ b/.gitignore @@ -87,3 +87,4 @@ crun-0.1.1.tar.gz /crun-1.14.3.tar.xz /crun-1.14.4.tar.xz /crun-1.15.tar.zst +/crun-1.17.tar.zst diff --git a/crun.spec b/crun.spec index f8f06c4..f1869c0 100644 --- a/crun.spec +++ b/crun.spec @@ -1,16 +1,17 @@ %global krun_opts %{nil} %global wasmedge_opts %{nil} -%global wasmtime_opts %{nil} -# krun and wasm[edge,time] support only on aarch64 and x86_64 -%ifarch aarch64 || x86_64 -%global wasm_support 1 - -%if %{defined copr_project} +%if %{defined copr_username} %define copr_build 1 %endif -%if %{defined fedora} || %{defined copr_build} +# krun and wasm support only on aarch64 and x86_64 +%ifarch aarch64 || x86_64 + +# Disable wasmedge on rhel 10 until EPEL10 is in place, otherwise it causes +# build issues on copr +%if %{defined fedora} || (%{defined copr_build} && %{defined rhel} && 0%{?rhel} < 10) +%global wasm_support 1 %global wasmedge_support 1 %global wasmedge_opts --with-wasmedge %endif @@ -21,12 +22,6 @@ %global krun_opts --with-libkrun %endif -# wasmtime exists only on podman-next copr for now -%if %{defined copr_project} && "%{?copr_project}" == "podman-next" -%global wasmtime_support 1 -%global wasmtime_opts --with-wasmtime -%endif - %endif Summary: OCI runtime written in C @@ -40,7 +35,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.15 +Version: 1.17 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.zst @@ -71,9 +66,6 @@ Recommends: criu-libs %if %{defined wasmedge_support} BuildRequires: wasmedge-devel %endif -%if %{defined wasmtime_support} -BuildRequires: wasmtime-c-api-devel -%endif BuildRequires: python Provides: oci-runtime @@ -95,12 +87,10 @@ krun is a symlink to the %{name} binary, with libkrun as an additional dependenc %package wasm Summary: %{name} with wasm support Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} -# The hard dep on wasm-library is causing trouble in internal testing farm -# with RHEL. +# wasm packages are not present on RHEL yet and are currently a PITA to test +# Best to only include wasmedge as weak dep on rhel %if %{defined fedora} Requires: wasm-library -%else -Recommends: wasm-library %endif Recommends: wasmedge @@ -113,21 +103,13 @@ Recommends: wasmedge %build ./autogen.sh -./configure --disable-silent-rules %{krun_opts} %{wasmedge_opts} %{wasmtime_opts} +./configure --disable-silent-rules %{krun_opts} %{wasmedge_opts} %make_build %install %make_install prefix=%{_prefix} rm -rf %{buildroot}%{_prefix}/lib* -%if %{defined krun_support} -ln -s %{name} %{buildroot}%{_bindir}/krun -%endif - -%if %{defined wasm_support} -ln -s %{name} %{buildroot}%{_bindir}/%{name}-wasm -%endif - %files %license COPYING %{_bindir}/%{name} diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..dbb1d91 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,12 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: [] diff --git a/plans/main.fmf b/plans/main.fmf new file mode 100644 index 0000000..b56d319 --- /dev/null +++ b/plans/main.fmf @@ -0,0 +1,20 @@ +discover: + how: fmf +execute: + how: tmt + +/upstream: + summary: Run crun specific Podman system tests on upstream PRs + discover+: + filter: tag:upstream + adjust+: + enabled: false + when: initiator is not defined or initiator != packit + +/downstream: + summary: Run crun specific Podman system tests on bodhi / errata and dist-git PRs + discover+: + filter: tag:downstream + adjust+: + enabled: false + when: initiator == packit diff --git a/sources b/sources index 7bf880b..6f53768 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.15.tar.zst) = a6e141f372817ed8ad1776c3ee272f68fa69680ef4d51b56643c0e4985016a5a6a415cc8623aa211c511916f2c61a417864c24c8d35fde594b624c666a9cca32 +SHA512 (crun-1.17.tar.zst) = 3e46241b10c72fc4139c1b0256d3dcd012ffa4ec3e7db752d0eb0497b95e722b9345b77210197e88c9543a1270612ba768b343d16a151ea8154167292b2f7b1c diff --git a/tests/tmt/Makefile b/tests/tmt/Makefile new file mode 100644 index 0000000..b57ba2c --- /dev/null +++ b/tests/tmt/Makefile @@ -0,0 +1,3 @@ +.PHONY: podman_system_test +podman_system_test: + bash ./podman-tests.sh diff --git a/tests/tmt/main.fmf b/tests/tmt/main.fmf new file mode 100644 index 0000000..b0db617 --- /dev/null +++ b/tests/tmt/main.fmf @@ -0,0 +1,13 @@ +# Only common dependencies that are NOT required to run podman-tests.sh are +# specified here. Everything else is in podman-tests.sh. +require: + - make + +adjust: + duration: 10m + when: arch == aarch64 + +/podman_system_test: + tag: [ upstream, downstream ] + summary: Run crun specific Podman tests + test: make podman_system_test diff --git a/tests/tmt/podman-tests.sh b/tests/tmt/podman-tests.sh new file mode 100644 index 0000000..9d091c7 --- /dev/null +++ b/tests/tmt/podman-tests.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -exo pipefail + +if [[ "$(id -u)" -ne 0 ]];then + echo "Please run this script as superuser" + exit 1 +fi + +# Remove testing-farm repos if they exist because they interfere with the +# podman-next copr. The default distro repos will not be removed and can be +# used wherever relevant. +rm -f /etc/yum.repos.d/tag-repository.repo + +dnf -y install bats conmon podman podman-tests +dnf -y update --allowerasing + +cat /etc/redhat-release +rpm -q conmon containers-common crun podman podman-tests + +# Run crun specific podman tests +bats /usr/share/podman/test/system/030-run.bats From 71a69e1c17fa8f6b44b24d2efbe4bb29bc73120f Mon Sep 17 00:00:00 2001 From: Packit Date: Tue, 22 Oct 2024 13:03:03 +0000 Subject: [PATCH 06/13] Update to 1.18 upstream release Upstream tag: 1.18 Upstream commit: 8656b254 Commit authored by Packit automation (https://packit.dev/) --- .gitignore | 1 + .packit.yaml | 106 ++++++++++++++++++++++++++++++++++---------------- README.packit | 2 +- crun.spec | 15 ++++++- sources | 2 +- 5 files changed, 88 insertions(+), 38 deletions(-) diff --git a/.gitignore b/.gitignore index 578a718..2aecac4 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,4 @@ crun-0.1.1.tar.gz /crun-1.14.4.tar.xz /crun-1.15.tar.zst /crun-1.17.tar.zst +/crun-1.18.tar.zst diff --git a/.packit.yaml b/.packit.yaml index 734d5a6..363614f 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -4,6 +4,24 @@ downstream_package_name: crun +# Ref: https://packit.dev/docs/configuration#files_to_sync +files_to_sync: + - src: rpm/gating.yaml + dest: gating.yaml + - src: plans/ + dest: plans/ + delete: true + mkpath: true + - src: tests/tmt/ + dest: tests/tmt/ + delete: true + mkpath: true + - src: .fmf/ + dest: .fmf/ + delete: true + mkpath: true + - .packit.yaml + packages: crun-fedora: pkg_tool: fedpkg @@ -11,6 +29,10 @@ packages: crun-centos: pkg_tool: centpkg specfile_path: rpm/crun.spec + crun-rhel: + specfile_path: rpm/crun.spec + crun-eln: + specfile_path: rpm/crun.spec srpm_build_deps: - git-archive-all @@ -29,9 +51,15 @@ jobs: notifications: &copr_build_failure_notification failure_comment: message: "Ephemeral COPR build failed. @containers/packit-build please check." - targets: + targets: &fedora_copr_targets - fedora-all-x86_64 - fedora-all-aarch64 + + - job: copr_build + trigger: pull_request + packages: [crun-eln] + notifications: *copr_build_failure_notification + targets: - fedora-eln-x86_64 - fedora-eln-aarch64 @@ -39,17 +67,30 @@ jobs: trigger: pull_request packages: [crun-centos] notifications: *copr_build_failure_notification + targets: ¢os_targets + # Need epel9 repos to fetch wasmedge build dependency + centos-stream-9-x86_64: + additional_repos: + - https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/ + centos-stream-9-aarch64: + additional_repos: + - https://dl.fedoraproject.org/pub/epel/9/Everything/aarch64/ + # TODO: build on CS10 with wasmedge once epel-10 is available + centos-stream-10-x86_64: {} + centos-stream-10-aarch64: {} + + - job: copr_build + trigger: pull_request + packages: [crun-rhel] + notifications: *copr_build_failure_notification targets: - epel-9-x86_64 - epel-9-aarch64 - - centos-stream-9-x86_64 - - centos-stream-9-aarch64 - - centos-stream-10-x86_64 - - centos-stream-10-aarch64 # Run on commit to main branch - job: copr_build trigger: commit + packages: [crun-fedora] notifications: failure_comment: message: "podman-next COPR build failed. @containers/packit-build please check." @@ -64,31 +105,29 @@ jobs: notifications: &podman_system_test_fail_notification failure_comment: message: "podman system tests failed. @containers/packit-build please check." - targets: - - fedora-all-x86_64 - - fedora-all-aarch64 - identifier: podman_system_test_fedora - tmt_plan: "/plans/podman_system_test" + targets: *fedora_copr_targets + tf_extra_params: + environments: + - artifacts: + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/fedora-$releasever/rhcontainerbot-podman-next-fedora-$releasever.repo - # Podman system tests for Fedora and CentOS Stream + # Podman system tests for CentOS Stream - job: tests trigger: pull_request packages: [crun-centos] notifications: *podman_system_test_fail_notification - targets: - - centos-stream-9-x86_64 - - centos-stream-9-aarch64 - # TODO: Enable cs10 tests after netavark has finished defaulting to - # nftables - #- centos-stream-10-x86_64 - #- centos-stream-10-aarch64 - identifier: podman_system_test_centos - tmt_plan: "/plans/podman_system_test" + targets: *centos_targets + tf_extra_params: + environments: + - artifacts: + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/centos-stream-$releasever/rhcontainerbot-podman-next-centos-stream-$releasever.repo # Podman system tests for RHEL - job: tests trigger: pull_request - packages: [crun-centos] + packages: [crun-rhel] use_internal_tf: true notifications: *podman_system_test_fail_notification targets: @@ -96,35 +135,34 @@ jobs: distros: [RHEL-9.4.0-Nightly,RHEL-9-Nightly] epel-9-aarch64: distros: [RHEL-9.4.0-Nightly,RHEL-9-Nightly] - # TODO: Enable cs10 tests after netavark has finished defaulting to - # nftables - #centos-stream-10-x86_64: - # distros: [RHEL-10-Beta-Nightly] - #centos-stream-10-aarch64: - # distros: [RHEL-10-Beta-Nightly] - identifier: podman_system_test_internal - tmt_plan: "/plans/podman_system_test" + #TODO: Enable RHEL10 targets once epel-10 copr target is available + tf_extra_params: + environments: + - artifacts: + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/epel-$releasever/rhcontainerbot-podman-next-epel-$releasever.repo + - type: repository-file + id: https://src.fedoraproject.org/rpms/epel-release/raw/epel9/f/epel.repo - job: propose_downstream trigger: release packages: [crun-fedora] - update_release: false - dist_git_branches: + dist_git_branches: &fedora_targets - fedora-all - job: propose_downstream trigger: release packages: [crun-centos] - update_release: false dist_git_branches: - c10s - job: koji_build trigger: commit - dist_git_branches: - - fedora-all + packages: [crun-fedora] + dist_git_branches: *fedora_targets - job: bodhi_update trigger: commit + packages: [crun-fedora] dist_git_branches: - fedora-branched # rawhide updates are created automatically diff --git a/README.packit b/README.packit index 066b312..2bd3f40 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.95.0.post1.dev8+gce6bd577. +The file was generated using packit 0.102.1.post1.dev6+g64f7460b. diff --git a/crun.spec b/crun.spec index f1869c0..1e315b8 100644 --- a/crun.spec +++ b/crun.spec @@ -1,5 +1,6 @@ %global krun_opts %{nil} %global wasmedge_opts %{nil} +%global yajl_opts %{nil} %if %{defined copr_username} %define copr_build 1 @@ -24,6 +25,12 @@ %endif +%if %{defined fedora} || (%{defined rhel} && 0%{?rhel} < 10) +%global system_yajl 1 +%else +%global yajl_opts --enable-embedded-yajl +%endif + Summary: OCI runtime written in C Name: crun %if %{defined copr_build} @@ -35,7 +42,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.17 +Version: 1.18 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.zst @@ -55,14 +62,18 @@ BuildRequires: libcap-devel BuildRequires: libkrun-devel %endif BuildRequires: systemd-devel +%if %{defined system_yajl} BuildRequires: yajl-devel +%endif BuildRequires: libseccomp-devel BuildRequires: python3-libmount BuildRequires: libtool BuildRequires: protobuf-c-devel +%ifnarch riscv64 BuildRequires: criu-devel >= 3.17.1-2 Recommends: criu >= 3.17.1 Recommends: criu-libs +%endif %if %{defined wasmedge_support} BuildRequires: wasmedge-devel %endif @@ -103,7 +114,7 @@ Recommends: wasmedge %build ./autogen.sh -./configure --disable-silent-rules %{krun_opts} %{wasmedge_opts} +./configure --disable-silent-rules %{krun_opts} %{wasmedge_opts} %{yajl_opts} %make_build %install diff --git a/sources b/sources index 6f53768..285c15f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.17.tar.zst) = 3e46241b10c72fc4139c1b0256d3dcd012ffa4ec3e7db752d0eb0497b95e722b9345b77210197e88c9543a1270612ba768b343d16a151ea8154167292b2f7b1c +SHA512 (crun-1.18.tar.zst) = a1a77a74163bcad18541c688e8006449c86ff490c98485c1294bdbf892840d1add1d5a25de75950a21255185aebdb6136490512d4c7562a53ac4052669924fad From f67de4e98df4cb628f4fd0104e8f84b2d6a8a26e Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 31 Oct 2024 16:45:43 +0000 Subject: [PATCH 07/13] Update to 1.18.2 upstream release Upstream tag: 1.18.2 Upstream commit: 00ab38af Commit authored by Packit automation (https://packit.dev/) --- .gitignore | 1 + README.packit | 2 +- crun.spec | 2 +- sources | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2aecac4..28997d0 100644 --- a/.gitignore +++ b/.gitignore @@ -89,3 +89,4 @@ crun-0.1.1.tar.gz /crun-1.15.tar.zst /crun-1.17.tar.zst /crun-1.18.tar.zst +/crun-1.18.2.tar.zst diff --git a/README.packit b/README.packit index 2bd3f40..3d207b6 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.102.1.post1.dev6+g64f7460b. +The file was generated using packit 0.102.2.post1.dev2+gbdca14cb. diff --git a/crun.spec b/crun.spec index 1e315b8..997fe12 100644 --- a/crun.spec +++ b/crun.spec @@ -42,7 +42,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.18 +Version: 1.18.2 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.zst diff --git a/sources b/sources index 285c15f..5739bf5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.18.tar.zst) = a1a77a74163bcad18541c688e8006449c86ff490c98485c1294bdbf892840d1add1d5a25de75950a21255185aebdb6136490512d4c7562a53ac4052669924fad +SHA512 (crun-1.18.2.tar.zst) = 78de21ea40a06c719a1f4d4e0aef99b2653c8324b47450598d05cd407cbe6b70105d4990d6cf6f686dcc1259e91e383f7850317f556caee7ce9270797a809de3 From 0ed5554777632c7160fd449b862b89a472514675 Mon Sep 17 00:00:00 2001 From: Packit Date: Fri, 6 Dec 2024 14:47:57 +0000 Subject: [PATCH 08/13] Update to 1.19 upstream release Upstream tag: 1.19 Upstream commit: db31c42a Commit authored by Packit automation (https://packit.dev/) --- .gitignore | 1 + README.packit | 2 +- crun.spec | 2 +- sources | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 28997d0..d3ade96 100644 --- a/.gitignore +++ b/.gitignore @@ -90,3 +90,4 @@ crun-0.1.1.tar.gz /crun-1.17.tar.zst /crun-1.18.tar.zst /crun-1.18.2.tar.zst +/crun-1.19.tar.zst diff --git a/README.packit b/README.packit index 3d207b6..13501e1 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.102.2.post1.dev2+gbdca14cb. +The file was generated using packit 0.104.1.post1.dev2+g8a1a06eb. diff --git a/crun.spec b/crun.spec index 997fe12..1b09599 100644 --- a/crun.spec +++ b/crun.spec @@ -42,7 +42,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.18.2 +Version: 1.19 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.zst diff --git a/sources b/sources index 5739bf5..58bc93b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.18.2.tar.zst) = 78de21ea40a06c719a1f4d4e0aef99b2653c8324b47450598d05cd407cbe6b70105d4990d6cf6f686dcc1259e91e383f7850317f556caee7ce9270797a809de3 +SHA512 (crun-1.19.tar.zst) = 30988650f1f6ff396818a71f3d75e9cea5b98e2c247f16a9e445e47a558438916fa256b3e50c9853d8deb1f2f663129e2a9ceabd9b6b8b8db2f7ee4d3791f669 From 3774b0f03c35fb3083b2b9f611df358264101cbb Mon Sep 17 00:00:00 2001 From: Packit Date: Tue, 17 Dec 2024 20:52:27 +0000 Subject: [PATCH 09/13] Update to 1.19.1 upstream release Upstream tag: 1.19.1 Upstream commit: 3e32a70c Commit authored by Packit automation (https://packit.dev/) --- .gitignore | 1 + README.packit | 2 +- crun.spec | 2 +- sources | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index d3ade96..669420f 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,4 @@ crun-0.1.1.tar.gz /crun-1.18.tar.zst /crun-1.18.2.tar.zst /crun-1.19.tar.zst +/crun-1.19.1.tar.zst diff --git a/README.packit b/README.packit index 13501e1..3826605 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.104.1.post1.dev2+g8a1a06eb. +The file was generated using packit 0.106.0. diff --git a/crun.spec b/crun.spec index 1b09599..18756c9 100644 --- a/crun.spec +++ b/crun.spec @@ -42,7 +42,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.19 +Version: 1.19.1 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.zst diff --git a/sources b/sources index 58bc93b..30431be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.19.tar.zst) = 30988650f1f6ff396818a71f3d75e9cea5b98e2c247f16a9e445e47a558438916fa256b3e50c9853d8deb1f2f663129e2a9ceabd9b6b8b8db2f7ee4d3791f669 +SHA512 (crun-1.19.1.tar.zst) = 4122b6474a1da4c17d781e0ccf2f97a89cbddd4bfca1bca55b4cb15b11bef03f9101b00a921dc6dbcac43be3661a64d61bb7ddfd750672b5bf85561df13cc7a8 From d27a919ff1e0a4f0da3b34cb0cf5ea6a30b5a958 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Thu, 26 Dec 2024 21:09:37 +0530 Subject: [PATCH 10/13] TMT: sync tests from upstream Signed-off-by: Lokesh Mandvekar (cherry picked from commit b6aa0a8fdf9f5339fdb62edd60cf5e214190b7e8) --- gating.yaml | 7 +- plans/main.fmf | 28 ++++- tests/tmt/Makefile | 3 - tests/tmt/main.fmf | 13 --- tests/tmt/podman-tests.sh | 22 ---- tests/tmt/podman/system-test.fmf | 15 +++ tests/tmt/podman/system-test.sh | 16 +++ tests/tmt/sanity/config.json | 180 +++++++++++++++++++++++++++++++ tests/tmt/sanity/main.fmf | 5 + tests/tmt/sanity/runtest.sh | 91 ++++++++++++++++ 10 files changed, 336 insertions(+), 44 deletions(-) delete mode 100644 tests/tmt/Makefile delete mode 100644 tests/tmt/main.fmf delete mode 100644 tests/tmt/podman-tests.sh create mode 100644 tests/tmt/podman/system-test.fmf create mode 100644 tests/tmt/podman/system-test.sh create mode 100644 tests/tmt/sanity/config.json create mode 100644 tests/tmt/sanity/main.fmf create mode 100644 tests/tmt/sanity/runtest.sh diff --git a/gating.yaml b/gating.yaml index dbb1d91..4efb29f 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,7 +1,9 @@ --- !Policy product_versions: - fedora-* -decision_context: bodhi_update_push_stable +decision_context: + - bodhi_update_push_stable + - bodhi_update_push_testing rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} @@ -9,4 +11,5 @@ rules: product_versions: - rhel-* decision_context: osci_compose_gate -rules: [] +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/plans/main.fmf b/plans/main.fmf index b56d319..d87b1f7 100644 --- a/plans/main.fmf +++ b/plans/main.fmf @@ -2,19 +2,39 @@ discover: how: fmf execute: how: tmt +adjust: + - when: initiator == packit + because: "We need to test with updated packages from rhcontainerbot/podman-next copr" + prepare+: + how: shell + script: | + sed -i -n '/^priority=/!p;$apriority=1' /etc/yum.repos.d/*podman-next*.repo + dnf -y upgrade --allowerasing + # FIXME: Use epel10 once bats is available there + - when: distro == centos-stream-10 or distro == rhel-10 + because: "bats isn't yet available on epel10" + prepare+: + how: install + copr: rhcontainerbot/bats-el10 + package: bats + - when: distro == centos-stream-9 or distro == rhel-9 + because: "bats is present on EPEL on rhel9 / c9s" + prepare+: + how: feature + epel: enabled /upstream: summary: Run crun specific Podman system tests on upstream PRs discover+: filter: tag:upstream adjust+: - enabled: false - when: initiator is not defined or initiator != packit + - enabled: false + when: initiator is not defined or initiator != packit /downstream: summary: Run crun specific Podman system tests on bodhi / errata and dist-git PRs discover+: filter: tag:downstream adjust+: - enabled: false - when: initiator == packit + - enabled: false + when: initiator == packit diff --git a/tests/tmt/Makefile b/tests/tmt/Makefile deleted file mode 100644 index b57ba2c..0000000 --- a/tests/tmt/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -.PHONY: podman_system_test -podman_system_test: - bash ./podman-tests.sh diff --git a/tests/tmt/main.fmf b/tests/tmt/main.fmf deleted file mode 100644 index b0db617..0000000 --- a/tests/tmt/main.fmf +++ /dev/null @@ -1,13 +0,0 @@ -# Only common dependencies that are NOT required to run podman-tests.sh are -# specified here. Everything else is in podman-tests.sh. -require: - - make - -adjust: - duration: 10m - when: arch == aarch64 - -/podman_system_test: - tag: [ upstream, downstream ] - summary: Run crun specific Podman tests - test: make podman_system_test diff --git a/tests/tmt/podman-tests.sh b/tests/tmt/podman-tests.sh deleted file mode 100644 index 9d091c7..0000000 --- a/tests/tmt/podman-tests.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -exo pipefail - -if [[ "$(id -u)" -ne 0 ]];then - echo "Please run this script as superuser" - exit 1 -fi - -# Remove testing-farm repos if they exist because they interfere with the -# podman-next copr. The default distro repos will not be removed and can be -# used wherever relevant. -rm -f /etc/yum.repos.d/tag-repository.repo - -dnf -y install bats conmon podman podman-tests -dnf -y update --allowerasing - -cat /etc/redhat-release -rpm -q conmon containers-common crun podman podman-tests - -# Run crun specific podman tests -bats /usr/share/podman/test/system/030-run.bats diff --git a/tests/tmt/podman/system-test.fmf b/tests/tmt/podman/system-test.fmf new file mode 100644 index 0000000..9beb3c9 --- /dev/null +++ b/tests/tmt/podman/system-test.fmf @@ -0,0 +1,15 @@ +require: + - bats + - conmon + - crun + - make + - podman-tests + +adjust: + duration: 10m + when: arch == aarch64 + +/system_test: + tag: [ upstream, downstream ] + summary: Run crun specific Podman tests + test: bash ./system-test.sh diff --git a/tests/tmt/podman/system-test.sh b/tests/tmt/podman/system-test.sh new file mode 100644 index 0000000..4d04562 --- /dev/null +++ b/tests/tmt/podman/system-test.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -exo pipefail + +if [[ "$(id -u)" -ne 0 ]];then + echo "Please run this script as superuser" + exit 1 +fi + +cat /etc/redhat-release +rpm -q conmon containers-common crun podman podman-tests + +# Run crun specific podman tests +bats -t /usr/share/podman/test/system/030-run.bats +bats -t /usr/share/podman/test/system/075-exec.bats +bats -t /usr/share/podman/test/system/280-update.bats diff --git a/tests/tmt/sanity/config.json b/tests/tmt/sanity/config.json new file mode 100644 index 0000000..3a1f225 --- /dev/null +++ b/tests/tmt/sanity/config.json @@ -0,0 +1,180 @@ +{ + "ociVersion": "1.0.0", + "process": { + "terminal": false, + "user": { + "uid": 0, + "gid": 0 + }, + "args": [ + "sleep", "10" + ], + "env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "TERM=xterm" + ], + "cwd": "/", + "capabilities": { + "bounding": [ + "CAP_AUDIT_WRITE", + "CAP_KILL", + "CAP_NET_BIND_SERVICE" + ], + "effective": [ + "CAP_AUDIT_WRITE", + "CAP_KILL", + "CAP_NET_BIND_SERVICE" + ], + "inheritable": [ + ], + "permitted": [ + "CAP_AUDIT_WRITE", + "CAP_KILL", + "CAP_NET_BIND_SERVICE" + ], + "ambient": [ + "CAP_AUDIT_WRITE", + "CAP_KILL", + "CAP_NET_BIND_SERVICE" + ] + }, + "rlimits": [ + { + "type": "RLIMIT_NOFILE", + "hard": 1024, + "soft": 1024 + } + ], + "noNewPrivileges": true + }, + "root": { + "path": "rootfs", + "readonly": true + }, + "hostname": "crun", + "mounts": [ + { + "destination": "/proc", + "type": "proc", + "source": "proc" + }, + { + "destination": "/dev", + "type": "tmpfs", + "source": "tmpfs", + "options": [ + "nosuid", + "strictatime", + "mode=755", + "size=65536k" + ] + }, + { + "destination": "/dev/pts", + "type": "devpts", + "source": "devpts", + "options": [ + "nosuid", + "noexec", + "newinstance", + "ptmxmode=0666", + "mode=0620", + "gid=5" + ] + }, + { + "destination": "/dev/shm", + "type": "tmpfs", + "source": "shm", + "options": [ + "nosuid", + "noexec", + "nodev", + "mode=1777", + "size=65536k" + ] + }, + { + "destination": "/dev/mqueue", + "type": "mqueue", + "source": "mqueue", + "options": [ + "nosuid", + "noexec", + "nodev" + ] + }, + { + "destination": "/sys", + "type": "sysfs", + "source": "sysfs", + "options": [ + "nosuid", + "noexec", + "nodev", + "ro" + ] + }, + { + "destination": "/sys/fs/cgroup", + "type": "cgroup", + "source": "cgroup", + "options": [ + "nosuid", + "noexec", + "nodev", + "relatime", + "ro" + ] + } + ], + "linux": { + "resources": { + "devices": [ + { + "allow": false, + "access": "rwm" + } + ] + }, + "namespaces": [ + { + "type": "pid" + }, + { + "type": "network" + }, + { + "type": "ipc" + }, + { + "type": "uts" + }, + { + "type": "cgroup" + }, + { + "type": "mount" + } + ], + "maskedPaths": [ + "/proc/acpi", + "/proc/asound", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/timer_list", + "/proc/timer_stats", + "/proc/sched_debug", + "/sys/firmware", + "/proc/scsi" + ], + "readonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + } +} diff --git a/tests/tmt/sanity/main.fmf b/tests/tmt/sanity/main.fmf new file mode 100644 index 0000000..f430351 --- /dev/null +++ b/tests/tmt/sanity/main.fmf @@ -0,0 +1,5 @@ +require: [crun, podman] +summary: Sanity test for crun +tag: ['upstream', 'downstream'] +test: bash ./runtest.sh +duration: 10m diff --git a/tests/tmt/sanity/runtest.sh b/tests/tmt/sanity/runtest.sh new file mode 100644 index 0000000..d1d453c --- /dev/null +++ b/tests/tmt/sanity/runtest.sh @@ -0,0 +1,91 @@ +#!/usr/bin/env bash + +set -exo pipefail + +TEMPDIR=$(mktemp -d) +TESTIMG="quay.io/libpod/busybox" +CNAME="mycont-$RANDOM" + +cat /etc/redhat-release +uname -r +rpm -q crun criu + +crun --version +[ $? -ne 0 ] && exit 1 + +crun features +[ $? -ne 0 ] && exit 1 + +crun list +[ $? -ne 0 ] && exit 1 + +# create the top most bundle and rootfs directory +mkdir -p $TEMPDIR/rootfs + +# export busybox via podman into the rootfs directory +podman export $(podman create $TESTIMG) | tar -C $TEMPDIR/rootfs -xvf - +[ $? -ne 0 ] && exit 1 + +# use existing spec +cp ./config.json $TEMPDIR +ls $TEMPDIR +cd $TEMPDIR + +crun create $CNAME +[ $? -ne 0 ] && exit 1 + +crun list +[ $? -ne 0 ] && exit 1 + +crun start $CNAME +[ $? -ne 0 ] && exit 1 + +crun list +[ $? -ne 0 ] && exit 1 + +crun state $CNAME +[ $? -ne 0 ] && exit 1 + +crun ps $CNAME +[ $? -ne 0 ] && exit 1 + +ret=$(crun exec $CNAME pwd) +[ $? -ne 0 ] || [ $ret != '/' ] && exit 1 + +crun pause $CNAME +[ $? -ne 0 ] && exit 1 + +crun state $CNAME +[ $? -ne 0 ] && exit 1 + +crun resume $CNAME +[ $? -ne 0 ] && exit 1 + +crun state $CNAME +[ $? -ne 0 ] && exit 1 + +ret=$(crun exec $CNAME pwd) +[ $? -ne 0 ] || [ $ret != '/' ] && exit 1 + +crun delete --force $CNAME +[ $? -ne 0 ] && exit 1 + +crun list +[ $? -ne 0 ] && exit 1 + +crun run $CNAME & +[ $? -ne 0 ] && exit 1 + +crun list +[ $? -ne 0 ] && exit 1 + +# make sure the container is running state +sleep 2 + +ret=$(crun exec $CNAME echo 'ok') +[ $? -ne 0 ] || [ $ret != 'ok' ] && exit 1 + +crun kill $CNAME +[ $? -ne 0 ] && exit 1 + +exit 0 From 856da66c2b3e31d15940a0323397335e2604cc54 Mon Sep 17 00:00:00 2001 From: Packit Date: Wed, 5 Feb 2025 08:39:57 +0000 Subject: [PATCH 11/13] Update to 1.20 upstream release Upstream tag: 1.20 Upstream commit: 9c9a76ac Commit authored by Packit automation (https://packit.dev/) --- .gitignore | 1 + .packit.yaml | 34 ++-------------------------- README.packit | 2 +- crun.spec | 2 +- plans/main.fmf | 39 ++++++++++++++++---------------- sources | 2 +- tests/tmt/podman/system-test.fmf | 7 ------ tests/tmt/sanity/main.fmf | 1 - 8 files changed, 26 insertions(+), 62 deletions(-) diff --git a/.gitignore b/.gitignore index 669420f..e4b87ad 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,4 @@ crun-0.1.1.tar.gz /crun-1.18.2.tar.zst /crun-1.19.tar.zst /crun-1.19.1.tar.zst +/crun-1.20.tar.zst diff --git a/.packit.yaml b/.packit.yaml index 363614f..ecb0014 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -29,8 +29,6 @@ packages: crun-centos: pkg_tool: centpkg specfile_path: rpm/crun.spec - crun-rhel: - specfile_path: rpm/crun.spec crun-eln: specfile_path: rpm/crun.spec @@ -67,7 +65,7 @@ jobs: trigger: pull_request packages: [crun-centos] notifications: *copr_build_failure_notification - targets: ¢os_targets + targets: ¢os_copr_targets # Need epel9 repos to fetch wasmedge build dependency centos-stream-9-x86_64: additional_repos: @@ -79,14 +77,6 @@ jobs: centos-stream-10-x86_64: {} centos-stream-10-aarch64: {} - - job: copr_build - trigger: pull_request - packages: [crun-rhel] - notifications: *copr_build_failure_notification - targets: - - epel-9-x86_64 - - epel-9-aarch64 - # Run on commit to main branch - job: copr_build trigger: commit @@ -117,33 +107,13 @@ jobs: trigger: pull_request packages: [crun-centos] notifications: *podman_system_test_fail_notification - targets: *centos_targets + targets: *centos_copr_targets tf_extra_params: environments: - artifacts: - type: repository-file id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/centos-stream-$releasever/rhcontainerbot-podman-next-centos-stream-$releasever.repo - # Podman system tests for RHEL - - job: tests - trigger: pull_request - packages: [crun-rhel] - use_internal_tf: true - notifications: *podman_system_test_fail_notification - targets: - epel-9-x86_64: - distros: [RHEL-9.4.0-Nightly,RHEL-9-Nightly] - epel-9-aarch64: - distros: [RHEL-9.4.0-Nightly,RHEL-9-Nightly] - #TODO: Enable RHEL10 targets once epel-10 copr target is available - tf_extra_params: - environments: - - artifacts: - - type: repository-file - id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/epel-$releasever/rhcontainerbot-podman-next-epel-$releasever.repo - - type: repository-file - id: https://src.fedoraproject.org/rpms/epel-release/raw/epel9/f/epel.repo - - job: propose_downstream trigger: release packages: [crun-fedora] diff --git a/README.packit b/README.packit index 3826605..c1b4159 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.106.0. +The file was generated using packit 1.1.0. diff --git a/crun.spec b/crun.spec index 18756c9..e9924db 100644 --- a/crun.spec +++ b/crun.spec @@ -42,7 +42,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.19.1 +Version: 1.20 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.zst diff --git a/plans/main.fmf b/plans/main.fmf index d87b1f7..1328f77 100644 --- a/plans/main.fmf +++ b/plans/main.fmf @@ -2,26 +2,27 @@ discover: how: fmf execute: how: tmt -adjust: +prepare: + - when: distro == centos-stream or distro == rhel + how: shell + script: | + dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm --eval '%{?rhel}').noarch.rpm + dnf -y config-manager --set-enabled epel + order: 10 - when: initiator == packit - because: "We need to test with updated packages from rhcontainerbot/podman-next copr" - prepare+: - how: shell - script: | - sed -i -n '/^priority=/!p;$apriority=1' /etc/yum.repos.d/*podman-next*.repo - dnf -y upgrade --allowerasing - # FIXME: Use epel10 once bats is available there - - when: distro == centos-stream-10 or distro == rhel-10 - because: "bats isn't yet available on epel10" - prepare+: - how: install - copr: rhcontainerbot/bats-el10 - package: bats - - when: distro == centos-stream-9 or distro == rhel-9 - because: "bats is present on EPEL on rhel9 / c9s" - prepare+: - how: feature - epel: enabled + how: shell + script: | + COPR_REPO_FILE="/etc/yum.repos.d/*podman-next*.repo" + if compgen -G $COPR_REPO_FILE > /dev/null; then + sed -i -n '/^priority=/!p;$apriority=1' $COPR_REPO_FILE + fi + dnf -y upgrade --allowerasing + order: 20 + - how: install + package: + - bats + - crun + - podman-tests /upstream: summary: Run crun specific Podman system tests on upstream PRs diff --git a/sources b/sources index 30431be..aac6af3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.19.1.tar.zst) = 4122b6474a1da4c17d781e0ccf2f97a89cbddd4bfca1bca55b4cb15b11bef03f9101b00a921dc6dbcac43be3661a64d61bb7ddfd750672b5bf85561df13cc7a8 +SHA512 (crun-1.20.tar.zst) = cfc124dd88e590aafb28eccff0e598858a36436605863ed1cf2d95d0d3122af7981ac113887a3274e9c479d249dd8deaae7f624f5f2c1ea07cbdef049988c138 diff --git a/tests/tmt/podman/system-test.fmf b/tests/tmt/podman/system-test.fmf index 9beb3c9..1032f07 100644 --- a/tests/tmt/podman/system-test.fmf +++ b/tests/tmt/podman/system-test.fmf @@ -1,10 +1,3 @@ -require: - - bats - - conmon - - crun - - make - - podman-tests - adjust: duration: 10m when: arch == aarch64 diff --git a/tests/tmt/sanity/main.fmf b/tests/tmt/sanity/main.fmf index f430351..6355ff6 100644 --- a/tests/tmt/sanity/main.fmf +++ b/tests/tmt/sanity/main.fmf @@ -1,4 +1,3 @@ -require: [crun, podman] summary: Sanity test for crun tag: ['upstream', 'downstream'] test: bash ./runtest.sh From dd6c9afa84b83261a58014cfb18bcd9db8e0ab7c Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Mon, 10 Feb 2025 19:59:24 +0530 Subject: [PATCH 12/13] fix gating config (cherry picked from commit 890408dccfa169aa89f5452e0a41e81b8b834bca) --- gating.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gating.yaml b/gating.yaml index 4efb29f..f86de09 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,7 +1,7 @@ --- !Policy product_versions: - fedora-* -decision_context: +decision_contexts: - bodhi_update_push_stable - bodhi_update_push_testing rules: From df7a9d3d4eb3ac9dd2d17fe6b346db5aea32c3bf Mon Sep 17 00:00:00 2001 From: Packit Date: Fri, 28 Mar 2025 08:37:40 +0000 Subject: [PATCH 13/13] Update to 1.21 upstream release Upstream tag: 1.21 Upstream commit: 10269840 Commit authored by Packit automation (https://packit.dev/) --- .gitignore | 1 + README.packit | 2 +- crun.spec | 2 +- sources | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e4b87ad..2272c16 100644 --- a/.gitignore +++ b/.gitignore @@ -93,3 +93,4 @@ crun-0.1.1.tar.gz /crun-1.19.tar.zst /crun-1.19.1.tar.zst /crun-1.20.tar.zst +/crun-1.21.tar.zst diff --git a/README.packit b/README.packit index c1b4159..ad2b8e5 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 1.1.0. +The file was generated using packit 1.3.0.post1.dev4+gb85da743. diff --git a/crun.spec b/crun.spec index e9924db..5acd520 100644 --- a/crun.spec +++ b/crun.spec @@ -42,7 +42,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.20 +Version: 1.21 Release: %autorelease URL: https://github.com/containers/%{name} Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.zst diff --git a/sources b/sources index aac6af3..0bdcdb2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (crun-1.20.tar.zst) = cfc124dd88e590aafb28eccff0e598858a36436605863ed1cf2d95d0d3122af7981ac113887a3274e9c479d249dd8deaae7f624f5f2c1ea07cbdef049988c138 +SHA512 (crun-1.21.tar.zst) = 022bb56dbf20eb7c479b76a92fc55c69b219e36233ee7e588eb883afd092fb4aaeca842e64d83e53bbb08bd09f635d582a86824950971842b73921d1ce134bd1