Compare commits

...
Sign in to create a new pull request.

21 commits

Author SHA1 Message Date
Packit
86472b7c20 Update to 1.40.0 upstream release
Upstream tag: v1.40.0
Upstream commit: ff62e3e8

Commit authored by Packit automation (https://packit.dev/)
2025-04-21 17:44:00 +00:00
Packit
09bf37730c Update to 1.39.2 upstream release
Upstream tag: v1.39.2
Upstream commit: d5d9d35f

Commit authored by Packit automation (https://packit.dev/)
2025-03-04 23:30:36 +00:00
Packit
571fae6a01 Update to 1.39.1 upstream release
Upstream tag: v1.39.1
Upstream commit: 9347a39c

Commit authored by Packit automation (https://packit.dev/)
2025-02-26 23:46:55 +00:00
Lokesh Mandvekar
6b6902d83c
TMT: initial enablement
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit 3a31f6dc42)
2025-02-06 21:01:45 +05:30
Packit
8118657f4b Update to 1.39.0 upstream release
Upstream tag: v1.39.0
Upstream commit: c15ab104

Commit authored by Packit automation (https://packit.dev/)
2025-02-03 16:29:26 +00:00
Packit
1b56989987 Update to 1.38.1 upstream release
Upstream tag: v1.38.1
Upstream commit: a07dde1b

Commit authored by Packit automation (https://packit.dev/)
2025-01-21 14:54:50 +00:00
Paul Holzinger
83450a9bf1
tests: set new inet helper path
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-11-12 16:01:52 +01:00
Packit
9be1fc2e83 Update to 1.38.0 upstream release
Upstream tag: v1.38.0
Upstream commit: 7aa3b5ee

Commit authored by Packit automation (https://packit.dev/)
2024-11-11 15:43:36 +00:00
Packit
cbc665d2b2 Update to 1.37.5 upstream release
Upstream tag: v1.37.5
Upstream commit: 5fd40b98

Commit authored by Packit automation (https://packit.dev/)
2024-10-18 14:36:52 +00:00
Packit
4f43cff78e Update to 1.37.4 upstream release
Upstream tag: v1.37.4
Upstream commit: df9247c5

Commit authored by Packit automation (https://packit.dev/)
2024-10-07 13:29:44 +00:00
Packit
ede9bd78d9 Update to 1.37.3 upstream release
Upstream tag: v1.37.3
Upstream commit: 956095ee

Commit authored by Packit automation (https://packit.dev/)
2024-09-23 16:03:43 +00:00
Packit
66fc873a48 Update to 1.37.1 upstream release
Upstream tag: v1.37.1
Upstream commit: 67cc51e9

Commit authored by Packit automation (https://packit.dev/)
2024-08-13 15:09:00 +00:00
Packit
e570c3adf3 Update to 1.37.0 upstream release
Upstream tag: v1.37.0
Upstream commit: f9de1bbd

Commit authored by Packit automation (https://packit.dev/)
2024-07-26 17:54:01 +00:00
Packit
e17b991a88 Update to 1.36.0 upstream release
Upstream tag: v1.36.0
Upstream commit: 6ceba883

Commit authored by Packit automation (https://packit.dev/)
2024-05-23 23:56:32 +00:00
Packit
0308dfea2e Update to 1.35.4 upstream release
Upstream tag: v1.35.4
Upstream commit: c2926eaf

Commit authored by Packit automation (https://packit.dev/)
2024-05-10 13:23:16 +00:00
Packit
3fb49d1233 [packit] 1.35.3 upstream release
Upstream tag: v1.35.3
Upstream commit: 9f0251c1
2024-03-30 01:15:14 +00:00
Ed Santiago
940fcbcb12
Gating tests: require slirp4netns
As of podman 5.0 slirp4netns is a soft dependency, not
installed by default, but we still need to test it until
it's deprecated.

Signed-off-by: Ed Santiago <santiago@redhat.com>
(cherry picked from commit 326e78444f)
2024-03-27 17:35:25 +05:30
Packit
937896bbd9 [packit] 1.35.2 upstream release
Upstream tag: v1.35.2
Upstream commit: 5070e42c
2024-03-26 23:59:56 +00:00
Packit
54eb37514d [packit] 1.35.1 upstream release
Upstream tag: v1.35.1
Upstream commit: f0141c69
2024-03-18 23:58:49 +00:00
Packit
1c81b4f1c2 [packit] 1.35.0 upstream release
Upstream tag: v1.35.0
Upstream commit: fedbd796
2024-03-07 12:43:42 +00:00
Packit
554ba886de [packit] 1.34.1 upstream release
Upstream tag: v1.34.1
Upstream commit: a2bab63f
2024-02-22 19:47:46 +00:00
13 changed files with 237 additions and 128 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

18
.gitignore vendored
View file

@ -704,3 +704,21 @@
/v1.32.2.tar.gz
/v1.33.2.tar.gz
/v1.34.0.tar.gz
/v1.34.1.tar.gz
/v1.35.0.tar.gz
/v1.35.1.tar.gz
/v1.35.2.tar.gz
/v1.35.3.tar.gz
/v1.35.4.tar.gz
/v1.36.0.tar.gz
/v1.37.0.tar.gz
/v1.37.1.tar.gz
/v1.37.3.tar.gz
/v1.37.4.tar.gz
/v1.37.5.tar.gz
/v1.38.0.tar.gz
/v1.38.1.tar.gz
/v1.39.0.tar.gz
/v1.39.1.tar.gz
/v1.39.2.tar.gz
/v1.40.0.tar.gz

View file

@ -2,53 +2,146 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
specfile_path: rpm/buildah.spec
downstream_package_name: buildah
upstream_tag_template: v{version}
# These files get synced from upstream to downstream (Fedora / CentOS Stream) on every
# propose-downstream job. This is done so tests maintained upstream can be run
# downstream in Zuul CI and Bodhi.
# Ref: https://packit.dev/docs/configuration#files_to_sync
files_to_sync:
- src: rpm/gating.yaml
dest: gating.yaml
delete: true
- src: plans/
dest: plans/
delete: true
mkpath: true
- src: tests/tmt/
dest: tests/tmt/
delete: true
mkpath: true
- src: .fmf/
dest: .fmf/
delete: true
- .packit.yaml
packages:
buildah-fedora:
pkg_tool: fedpkg
specfile_path: rpm/buildah.spec
buildah-centos:
pkg_tool: centpkg
specfile_path: rpm/buildah.spec
buildah-eln:
specfile_path: rpm/buildah.spec
srpm_build_deps:
- make
jobs:
- job: copr_build
trigger: pull_request
notifications:
packages: [buildah-fedora]
notifications: &copr_build_failure_notification
failure_comment:
message: "Ephemeral COPR build failed. @containers/packit-build please check."
targets: &fedora_copr_targets
# f40 ships go 1.22 and we require go 1.23 now. This should be revert to fedora-all
# once either f40 is rebased to go 1.23 or f42 is released and f40 EOL.
- fedora-latest-stable-x86_64
- fedora-latest-stable-aarch64
- fedora-development-x86_64
- fedora-development-aarch64
enable_net: true
- job: copr_build
trigger: pull_request
packages: [buildah-eln]
notifications: *copr_build_failure_notification
targets:
- fedora-all-x86_64
- 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"
fedora-eln-x86_64:
additional_repos:
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/"
fedora-eln-aarch64:
additional_repos:
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/aarch64/"
enable_net: true
- job: copr_build
trigger: pull_request
packages: [buildah-centos]
notifications: *copr_build_failure_notification
targets: &centos_copr_targets
- centos-stream-9-x86_64
- centos-stream-9-aarch64
- centos-stream-10-x86_64
- centos-stream-10-aarch64
enable_net: true
# Run on commit to main branch
- job: copr_build
trigger: commit
packages: [buildah-fedora]
notifications:
failure_comment:
message: "podman-next COPR build failed. @containers/packit-build please check."
branch: main
owner: rhcontainerbot
project: podman-next
enable_net: true
# Tests on Fedora for main branch PRs
- job: tests
trigger: pull_request
packages: [buildah-fedora]
targets: &fedora_copr_test_targets
# See the other comment above, this should be reverted to fedora-all when possible.
- fedora-latest-stable-x86_64
- fedora-development-x86_64
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
# Tests on CentOS Stream for main branch PRs
- job: tests
trigger: pull_request
packages: [buildah-centos]
targets: &centos_copr_test_targets
- centos-stream-9-x86_64
- centos-stream-10-x86_64
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
# Sync to Fedora
- job: propose_downstream
trigger: release
packages: [buildah-fedora]
update_release: false
dist_git_branches: &fedora_targets
- fedora-all
# Sync to CentOS Stream
- job: propose_downstream
trigger: release
packages: [buildah-centos]
update_release: false
dist_git_branches:
- fedora-all
- c10s
# Fedora Koji build
- job: koji_build
trigger: commit
dist_git_branches:
- fedora-all
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched # rawhide updates are created automatically
packages: [buildah-fedora]
sidetag_group: podman-releases
# Dependents are not rpm dependencies, but the package whose bodhi update
# should include this package.
# Ref: https://packit.dev/docs/fedora-releases-guide/releasing-multiple-packages
dependents:
- podman
dist_git_branches: *fedora_targets

View file

@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.87.1.post1.dev7+g9f53ebb4.
The file was generated using packit 1.6.0.post1.dev2+gd5a7662a.

View file

@ -7,27 +7,24 @@
%global debug_package %{nil}
%endif
# RHEL's default %%gobuild macro doesn't account for the BUILDTAGS variable, so we
# set it separately here and do not depend on RHEL's go-[s]rpm-macros package
# until that's fixed.
# c9s bz: https://bugzilla.redhat.com/show_bug.cgi?id=2227328
# c8s bz: https://bugzilla.redhat.com/show_bug.cgi?id=2227331
%if %{defined rhel}
%define gobuild(o:) go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl ${BUILDTAGS:-}" -ldflags "-linkmode=external -compressdwarf=false ${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**};
%endif
%global gomodulesmode GO111MODULE=on
%if 0%{defined fedora}
%if %{defined fedora}
%define build_with_btrfs 1
%endif
%if %{defined rhel}
%define fips 1
%endif
%global git0 https://github.com/containers/%{name}
Name: buildah
# Set different Epoch for copr
%if %{defined copr_username}
Epoch: 102
%else
Epoch: 2
%endif
# DO NOT TOUCH the Version string!
# The TRUE source of this specfile is:
@ -35,7 +32,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.34.0
Version: 1.40.0
# The `AND` needs to be uppercase in the License for SPDX compatibility
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
Release: %autorelease
@ -82,11 +79,17 @@ or
* save container's root file system layer to create a new image
* delete a working container or an image
# This subpackage is only intended for CI testing.
# Not meant for end user/customer usage.
%package tests
Summary: Tests for %{name}
Requires: %{name} = %{version}-%{release}
Requires: %{name} = %{epoch}:%{version}-%{release}
%if %{defined bats_epel}
Requires: bats
%else
Recommends: bats
%endif
Requires: bzip2
Requires: podman
Requires: golang
@ -120,15 +123,20 @@ export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full"
export CNI_VERSION=`grep '^# github.com/containernetworking/cni ' src/modules.txt | sed 's,.* ,,'`
export LDFLAGS="-X main.buildInfo=`date +%s` -X main.cniVersion=${CNI_VERSION}"
export BUILDTAGS="seccomp exclude_graphdriver_devicemapper $(hack/systemd_tag.sh) $(hack/libsubid_tag.sh)"
export BUILDTAGS="seccomp $(hack/systemd_tag.sh) $(hack/libsubid_tag.sh)"
%if !%{defined build_with_btrfs}
export BUILDTAGS+=" btrfs_noversion exclude_graphdriver_btrfs"
%endif
%if %{defined fips}
export BUILDTAGS+=" libtrust_openssl"
%endif
%gobuild -o bin/%{name} ./cmd/%{name}
%gobuild -o bin/imgtype ./tests/imgtype
%gobuild -o bin/copy ./tests/copy
%gobuild -o bin/tutorial ./tests/tutorial
%gobuild -o bin/inet ./tests/inet
%{__make} docs
%install
@ -139,14 +147,18 @@ cp -pav tests/. %{buildroot}/%{_datadir}/%{name}/test/system
cp bin/imgtype %{buildroot}/%{_bindir}/%{name}-imgtype
cp bin/copy %{buildroot}/%{_bindir}/%{name}-copy
cp bin/tutorial %{buildroot}/%{_bindir}/%{name}-tutorial
cp bin/inet %{buildroot}/%{_bindir}/%{name}-inet
rm %{buildroot}%{_datadir}/%{name}/test/system/tools/build/*
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
# Include check to silence rpmlint.
%check
%files
%license LICENSE
%license LICENSE vendor/modules.txt
%doc README.md
%{_bindir}/%{name}
%{_mandir}/man1/%{name}*
@ -159,6 +171,7 @@ rm %{buildroot}%{_datadir}/%{name}/test/system/tools/build/*
%{_bindir}/%{name}-imgtype
%{_bindir}/%{name}-copy
%{_bindir}/%{name}-tutorial
%{_bindir}/%{name}-inet
%{_datadir}/%{name}/test
%changelog

View file

@ -1,14 +1,16 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
decision_contexts:
- bodhi_update_push_stable
- bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

34
plans/main.fmf Normal file
View file

@ -0,0 +1,34 @@
discover:
how: fmf
execute:
how: tmt
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
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
provision:
how: artemis
hardware:
memory: ">= 16 GB"
cpu:
cores: ">= 4"
threads: ">=8"
disk:
- size: ">= 512 GB"

View file

@ -1 +1 @@
SHA512 (v1.34.0.tar.gz) = a3836ce540058f418131969e157d548864727398535e4e99a693d883419b8d764da7166f9b9376c2b9686d8beac101687843c2e93198b16328ef333ad96d55db
SHA512 (v1.40.0.tar.gz) = bb96d04a17ab5a77e5d984dca369e3890131044c505ae3b030d95ffd66378df22da33315a50c9e500e783345ded23ebacdfa0965002a18e1d929c5fa3ce39311

View file

@ -1,69 +0,0 @@
#!/bin/bash -e
# Log program and kernel versions
echo "Important package versions:"
(
uname -r
rpm -qa |\
egrep 'buildah|podman|conmon|containers-common|crun|runc|iptable|slirp|aardvark|netavark|containernetworking-plugins|systemd|container-selinux' |\
sort
) | sed -e 's/^/ /'
# Log environment; or at least the useful bits
echo "Environment:"
env | grep -v LS_COLORS= | sort | sed -e 's/^/ /'
export BUILDAH_BINARY=/usr/bin/buildah
export IMGTYPE_BINARY=/usr/bin/buildah-imgtype
export COPY_BINARY=/usr/bin/buildah-copy
export TUTORIAL_BINARY=/usr/bin/buildah-tutorial
###############################################################################
# BEGIN setup/teardown
# Start a registry
pre_bats_setup() {
REGISTRY_FQIN=quay.io/libpod/registry:2
AUTHDIR=/tmp/buildah-tests-auth.$$
mkdir -p $AUTHDIR
CERT=$AUTHDIR/domain.crt
if [ ! -e $CERT ]; then
openssl req -newkey rsa:4096 -nodes -sha256 \
-keyout $AUTHDIR/domain.key -x509 -days 2 \
-out $AUTHDIR/domain.crt \
-subj "/C=US/ST=Foo/L=Bar/O=Red Hat, Inc./CN=registry host certificate" \
-addext subjectAltName=DNS:localhost
fi
if [ ! -e $AUTHDIR/htpasswd ]; then
htpasswd -Bbn testuser testpassword > $AUTHDIR/htpasswd
fi
podman rm -f registry || true
podman run -d -p 5000:5000 \
--name registry \
-v $AUTHDIR:/auth:Z \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/auth/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/auth/domain.key \
$REGISTRY_FQIN
}
post_bats_teardown() {
podman rm -f registry
}
# END setup/teardown
###############################################################################
# BEGIN actual test
pre_bats_setup
bats /usr/share/buildah/test/system
rc=$?
post_bats_teardown
exit $rc

View file

@ -1,17 +0,0 @@
---
- hosts: localhost
environment:
TMPDIR: /var/tmp
roles:
- role: standard-test-basic
tags:
- classic
- container
required_packages:
- buildah
- buildah-tests
tests:
- root-test:
dir: ./
run: ./test_buildah.sh
timeout: 80m

View file

@ -1 +0,0 @@
- import_playbook: test_buildah.yml

17
tests/tmt/system.fmf Normal file
View file

@ -0,0 +1,17 @@
require:
- buildah-tests
- git-daemon
- slirp4netns
environment:
BUILDAH_BINARY: /usr/bin/buildah
IMGTYPE_BINARY: /usr/bin/buildah-imgtype
INET_BINARY: /usr/bin/buildah-inet
COPY_BINARY: /usr/bin/buildah-copy
TUTORIAL_BINARY: /usr/bin/buildah-tutorial
TMPDIR: /var/tmp
/local/root:
summary: System test
test: bash ./system.sh
duration: 60m

18
tests/tmt/system.sh Normal file
View file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -exo pipefail
uname -r
rpm -q \
aardvark-dns \
buildah \
buildah-tests \
conmon \
container-selinux \
containers-common \
crun \
netavark \
systemd
bats /usr/share/buildah/test/system