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 6e5547f..ae2c48c 100644 --- a/.gitignore +++ b/.gitignore @@ -685,3 +685,53 @@ /v1.26.0.tar.gz /v1.26.1.tar.gz /v1.26.2.tar.gz +/v1.26.3.tar.gz +/v1.26.4.tar.gz +/v1.27.0.tar.gz +/v1.27.1.tar.gz +/v1.27.2.tar.gz +/v1.28.0.tar.gz +/v1.28.2.tar.gz +/v1.29.0.tar.gz +/v1.29.1.tar.gz +/v1.30.0.tar.gz +/v1.31.0.tar.gz +/v1.31.1.tar.gz +/v1.31.2.tar.gz +/v1.31.3.tar.gz +/v1.32.0.tar.gz +/v1.32.1.tar.gz +/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.2.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.39.3.tar.gz +/v1.39.4.tar.gz +/v1.40.0.tar.gz +/v1.40.1.tar.gz +/v1.41.0.tar.gz +/v1.41.1.tar.gz +/v1.41.2.tar.gz +/v1.41.3.tar.gz +/v1.41.4.tar.gz +/v1.41.5.tar.gz +/v1.42.0.tar.gz +/v1.42.1.tar.gz +/v1.42.2.tar.gz diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..032e9e1 --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,149 @@ +--- +# See the documentation for more information: +# https://packit.dev/docs/configuration/ + +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 + packages: [buildah-fedora] + notifications: &copr_build_failure_notification + failure_comment: + message: "Ephemeral COPR build failed. @containers/packit-build please check." + # Fedora aliases documentation: https://packit.dev/docs/configuration#aliases + # python3-fedora-distro-aliases provides `resolve-fedora-aliases` command + targets: &fedora_copr_targets + - fedora-all-x86_64 + - fedora-all-aarch64 + enable_net: true + # Disable osh diff scan until Go support is available + # Ref: https://github.com/openscanhub/known-false-positives/pull/30#issuecomment-2858698495 + osh_diff_scan_after_copr_build: false + + # Ignore until golang is updated in distro buildroot to 1.23.3+ + - job: copr_build + trigger: ignore + packages: [buildah-eln] + notifications: *copr_build_failure_notification + targets: + 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 + + # Ignore until golang is updated in distro buildroot to 1.23.3+ + - job: copr_build + trigger: ignore + packages: [buildah-centos] + notifications: *copr_build_failure_notification + targets: ¢os_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-all-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 + + # Ignore until golang is updated in distro buildroot to 1.23.3+ + # Tests on CentOS Stream for main branch PRs + - job: tests + trigger: ignore + packages: [buildah-centos] + 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: + - c10s + + # Fedora Koji build + - job: koji_build + trigger: commit + 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 diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..b4b46e3 --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 1.12.0.post1.dev20+g7d30dac21. diff --git a/buildah.spec b/buildah.spec index 399c583..9751b59 100644 --- a/buildah.spec +++ b/buildah.spec @@ -1,7 +1,3 @@ -%if "%{_vendor}" == "debbuild" -%define gobuild(o:) GO111MODULE=off go build -buildmode pie -tags=" ${BUILDTAGS:-}" -a -v -x %{?**}; -%endif - %global with_debug 1 %if 0%{?with_debug} @@ -11,98 +7,73 @@ %global debug_package %{nil} %endif -%global provider github -%global provider_tld com -%global project containers -%global repo buildah -# https://github.com/containers/buildah -%global import_path %{provider}.%{provider_tld}/%{project}/%{repo} -%global git0 https://%{import_path} +%global gomodulesmode GO111MODULE=on -%global built_tag v1.26.2 +%if %{defined fedora} +%define build_with_btrfs 1 +%if 0%{?fedora} >= 43 +%define sequoia 1 +%endif +%endif -Name: %{repo} -Version: 1.26.2 -%if "%{_vendor}" == "debbuild" -Maintainer: Lokesh Mandvekar -License: ASL-2.0+ -Release: 0%{?dist} +%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 -License: ASL 2.0 and BSD and MIT and MPLv2.0 +Epoch: 2 +%endif +# DO NOT TOUCH the Version string! +# The TRUE source of this specfile is: +# https://github.com/containers/skopeo/blob/main/rpm/skopeo.spec +# 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.42.2 +# 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 +%if %{defined golang_arches_future} +ExclusiveArch: %{golang_arches_future} +%else +ExclusiveArch: aarch64 ppc64le s390x x86_64 %endif Summary: A command line tool used for creating OCI Images URL: https://%{name}.io -Source: %{git0}/archive/%{built_tag}.tar.gz -BuildRequires: go-md2man -%if "%{_vendor}" == "debbuild" -BuildRequires: git -BuildRequires: golang -BuildRequires: libassuan-dev -BuildRequires: libbtrfs-dev -BuildRequires: libdevmapper-dev -BuildRequires: libglib2.0-dev -BuildRequires: libgpg-error-dev -BuildRequires: libgpgme-dev -BuildRequires: libseccomp-dev -BuildRequires: libsystemd-dev -BuildRequires: pkg-config -Requires: containers-common >= 4:1 -%else +# Tarball fetched from upstream +Source: %{git0}/archive/v%{version}.tar.gz BuildRequires: device-mapper-devel BuildRequires: git-core BuildRequires: golang >= 1.16.6 BuildRequires: glib2-devel BuildRequires: glibc-static +%if !%{defined gobuild} BuildRequires: go-rpm-macros +%endif BuildRequires: gpgme-devel BuildRequires: libassuan-devel BuildRequires: make -BuildRequires: ostree-devel +%if %{defined build_with_btrfs} BuildRequires: btrfs-progs-devel +%endif BuildRequires: shadow-utils-subid-devel -Requires: containers-common >= 4:1-46 -Suggests: containernetworking-plugins >= 0.9.1-1 -Requires: netavark -Requires: iptables -Requires: nftables +BuildRequires: sqlite-devel +Requires: containers-common-extra +%if %{defined fedora} BuildRequires: libseccomp-static +%else +BuildRequires: libseccomp-devel +%endif Requires: libseccomp >= 2.4.1-0 Suggests: cpp -Suggests: qemu-user-static -# awk '{print "Provides: bundled(golang("$1")) = "$2}' go.mod | sort | uniq | sed -e 's/-/_/g' -e '/bundled(golang())/d' -e '/bundled(golang(go\|module\|replace\|require))/d' -Provides: bundled(golang(github.com/containerd/containerd)) = v1.5.9 -Provides: bundled(golang(github.com/containernetworking/cni)) = v1.0.1 -Provides: bundled(golang(github.com/containers/common)) = v0.47.4 -Provides: bundled(golang(github.com/containers/image/v5)) = v5.19.1 -Provides: bundled(golang(github.com/containers/ocicrypt)) = v1.1.2 -Provides: bundled(golang(github.com/containers/storage)) = v1.38.2 -Provides: bundled(golang(github.com/docker/distribution)) = v2.8.0+incompatible -Provides: bundled(golang(github.com/docker/docker)) = v20.10.12+incompatible -Provides: bundled(golang(github.com/docker/go_units)) = v0.4.0 -Provides: bundled(golang(github.com/docker/libnetwork)) = v0.8.0_dev.2.0.20190625141545_5a177b73e316 -Provides: bundled(golang(github.com/fsouza/go_dockerclient)) = v1.7.8 -Provides: bundled(golang(github.com/ghodss/yaml)) = v1.0.0 -Provides: bundled(golang(github.com/hashicorp/go_multierror)) = v1.1.1 -Provides: bundled(golang(github.com/ishidawataru/sctp)) = v0.0.0_20210226210310_f2269e66cdee -Provides: bundled(golang(github.com/konsorten/go_windows_terminal_sequences)) = v1.0.3 -Provides: bundled(golang(github.com/mattn/go_shellwords)) = v1.0.12 -Provides: bundled(golang(github.com/onsi/ginkgo)) = v1.16.5 -Provides: bundled(golang(github.com/onsi/gomega)) = v1.18.1 -Provides: bundled(golang(github.com/opencontainers/go_digest)) = v1.0.0 -Provides: bundled(golang(github.com/opencontainers/image_spec)) = v1.0.3_0.20211202193544_a5463b7f9c84 -Provides: bundled(golang(github.com/opencontainers/runc)) = v1.1.0 -Provides: bundled(golang(github.com/opencontainers/runtime_spec)) = v1.0.3_0.20210326190908_1c3f411f0417 -Provides: bundled(golang(github.com/opencontainers/runtime_tools)) = v0.9.0 -Provides: bundled(golang(github.com/opencontainers/selinux)) = v1.10.0 -Provides: bundled(golang(github.com/openshift/imagebuilder)) = v1.2.2 -Provides: bundled(golang(github.com/pkg/errors)) = v0.9.1 -Provides: bundled(golang(github.com/seccomp/libseccomp_golang)) = v0.9.2_0.20210429002308_3879420cc921 -Provides: bundled(golang(github.com/sirupsen/logrus)) = v1.8.1 -Provides: bundled(golang(github.com/spf13/cobra)) = v1.3.0 -Provides: bundled(golang(github.com/spf13/pflag)) = v1.0.5 -Provides: bundled(golang(github.com/stretchr/testify)) = v1.7.0 -Provides: bundled(golang(github.com/syndtr/gocapability)) = v0.0.0_20200815063812_42c35b437635 +%if %{defined sequoia} +Requires: podman-sequoia %endif %description @@ -114,11 +85,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 @@ -134,11 +111,12 @@ Requires: git-daemon This package contains system tests for %{name} %prep -%autosetup -Sgit +%autosetup -Sgit -n %{name}-%{version} %build -%if "%{_vendor}" != "debbuild" %set_build_flags +export CGO_CFLAGS=$CFLAGS + # These extra flags present in $CFLAGS have been skipped for now as they break the build CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g') CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-Wp,D_GLIBCXX_ASSERTIONS//g') @@ -147,54 +125,58 @@ CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-an %ifarch x86_64 export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full" %endif -%endif - -export GOPATH=$(pwd)/_build:$(pwd) -export CGO_CFLAGS=$CFLAGS - -mkdir _build -cd _build -mkdir -p src/%{provider}.%{provider_tld}/%{project} -ln -s ../../../../ src/%{import_path} -cd .. - -mv vendor src 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' -%if "%{_vendor}" != "debbuild" -export BUILDTAGS+=' libsubid selinux' +export BUILDTAGS="seccomp $(hack/systemd_tag.sh) $(hack/libsubid_tag.sh) libsqlite3" +%if !%{defined build_with_btrfs} +export BUILDTAGS+=" exclude_graphdriver_btrfs" %endif -%gobuild -o bin/%{name} %{import_path}/cmd/%{name} -%gobuild -o bin/imgtype %{import_path}/tests/imgtype -%gobuild -o bin/copy %{import_path}/tests/copy -GOMD2MAN=go-md2man %{__make} -C docs + +%if %{defined fips} +export BUILDTAGS+=" libtrust_openssl" +%endif + +%if %{defined sequoia} +export BUILDTAGS+=" containers_image_sequoia" +%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 +%gobuild -o bin/dumpspec ./tests/dumpspec +%gobuild -o bin/passwd ./tests/passwd +%gobuild -o bin/crash ./tests/crash +%gobuild -o bin/wait ./tests/wait +%{__make} docs %install -export GOPATH=$(pwd)/_build:$(pwd) -%if "%{_vendor}" != "debbuild" make DESTDIR=%{buildroot} PREFIX=%{_prefix} install install.completions -make DESTDIR=%{buildroot} PREFIX=%{_prefix} -C docs install -%else -install -D -m0755 bin/%{name} %{buildroot}%{_bindir}/%{name} -install -m 644 -D contrib/completions/bash/%{name} %{buildroot}%{_datadir}/bash-completion/completions/%{name} -install -d %{buildroot}/%{_mandir}/man1 -install -m 0644 docs/%{name}*.1 %{buildroot}%{_mandir}/man1 -install -m 0644 docs/links/%{name}*.1 %{buildroot}%{_mandir}/man1 -%endif install -d -p %{buildroot}/%{_datadir}/%{name}/test/system 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 +cp bin/dumpspec %{buildroot}/%{_bindir}/%{name}-dumpspec +cp bin/passwd %{buildroot}/%{_bindir}/%{name}-passwd +cp bin/crash %{buildroot}/%{_bindir}/%{name}-crash +cp bin/wait %{buildroot}/%{_bindir}/%{name}-wait + +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}* @@ -206,9 +188,13 @@ cp bin/copy %{buildroot}/%{_bindir}/%{name}-copy %license LICENSE %{_bindir}/%{name}-imgtype %{_bindir}/%{name}-copy +%{_bindir}/%{name}-tutorial +%{_bindir}/%{name}-inet +%{_bindir}/%{name}-dumpspec +%{_bindir}/%{name}-passwd +%{_bindir}/%{name}-crash +%{_bindir}/%{name}-wait %{_datadir}/%{name}/test %changelog -%if "%{_vendor}" != "debbuild" %autochangelog -%endif diff --git a/gating.yaml b/gating.yaml index c8a218f..1fb3172 100644 --- a/gating.yaml +++ b/gating.yaml @@ -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} diff --git a/plans/main.fmf b/plans/main.fmf new file mode 100644 index 0000000..b982e76 --- /dev/null +++ b/plans/main.fmf @@ -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" + + diff --git a/sources b/sources index 3bbc28b..c210586 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v1.26.2.tar.gz) = f50a7ee787d10a8f8d1a7e0ff9f86990de975df427af894be5bcc84bceafd2eb87dfe75c1b967ae57056299893c942df257aef1e9aaeb712022a8abceeaebba9 +SHA512 (v1.42.2.tar.gz) = adb1de700db9b589639f6fd02cad95d9bedacb9d0363838315f33c978a8c900570d55af95073992ff69cff4f2a9d18776c5d786af294aaa1604144580c957414 diff --git a/tests/test_buildah.sh b/tests/test_buildah.sh deleted file mode 100755 index 5974d30..0000000 --- a/tests/test_buildah.sh +++ /dev/null @@ -1,68 +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 - -############################################################################### -# 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 diff --git a/tests/test_buildah.yml b/tests/test_buildah.yml deleted file mode 100644 index 8bb1ed0..0000000 --- a/tests/test_buildah.yml +++ /dev/null @@ -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 diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 596f735..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1 +0,0 @@ -- import_playbook: test_buildah.yml diff --git a/tests/tmt/system.fmf b/tests/tmt/system.fmf new file mode 100644 index 0000000..eb6b766 --- /dev/null +++ b/tests/tmt/system.fmf @@ -0,0 +1,24 @@ +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 + DUMPSPEC_BINARY: /usr/bin/buildah-dumpspec + PASSWD_BINARY: /usr/bin/buildah-passwd + TMPDIR: /var/tmp + +adjust: + - when: initiator != "packit" + environment+: + RELEASE_TESTING: true + +/local/root: + summary: System test + test: bash ./system.sh + duration: 60m diff --git a/tests/tmt/system.sh b/tests/tmt/system.sh new file mode 100644 index 0000000..73553aa --- /dev/null +++ b/tests/tmt/system.sh @@ -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