podman-4.4.1-8.el8
- use ldd directly to check for static link - avoid broken file utility - Related: #2176055 Signed-off-by: Jindrich Novy <jnovy@redhat.com>
This commit is contained in:
		
							parent
							
								
									3e7c9a28d6
								
							
						
					
					
						commit
						f5cc89a29d
					
				
							
								
								
									
										11
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,10 +1 @@ | |||||||
| SOURCES/dnsname-18822f9.tar.gz | /*.tar.gz | ||||||
| SOURCES/gvisor-tap-vsock-fdc231ae7b8fe1aec4cf0b8777274fa21b70d789.tar.gz |  | ||||||
| SOURCES/podman-machine-cni-0749884.tar.gz |  | ||||||
| SOURCES/v0.1.7.tar.gz |  | ||||||
| SOURCES/v4.3.1-rhel-d9a6336.tar.gz |  | ||||||
| /dnsname-18822f9.tar.gz |  | ||||||
| /gvisor-tap-vsock-fdc231ae7b8fe1aec4cf0b8777274fa21b70d789.tar.gz |  | ||||||
| /podman-machine-cni-0749884.tar.gz |  | ||||||
| /v0.1.7.tar.gz |  | ||||||
| /v4.3.1-rhel-d9a6336.tar.gz |  | ||||||
|  | |||||||
| @ -1,7 +0,0 @@ | |||||||
| # recipients: jnovy, lsm5, santiago |  | ||||||
| --- !Policy |  | ||||||
| product_versions: |  | ||||||
|   - rhel-9 |  | ||||||
| decision_context: osci_compose_gate |  | ||||||
| rules: |  | ||||||
|   - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} |  | ||||||
							
								
								
									
										50
									
								
								podman.spec
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								podman.spec
									
									
									
									
									
								
							| @ -7,23 +7,21 @@ | |||||||
| GO111MODULE=off go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -linkmode=external -compressdwarf=false -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v %{?**}; | GO111MODULE=off go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -linkmode=external -compressdwarf=false -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v %{?**}; | ||||||
| 
 | 
 | ||||||
| %global import_path github.com/containers/podman | %global import_path github.com/containers/podman | ||||||
| %global branch v4.3.1-rhel | %global branch v4.4.1-rhel | ||||||
| %global commit0 d9a633633d23649833438faf8f2ecf7ae2be27fd | %global commit0 e1703bb7f47675964852173c465769bef9ef4e1b | ||||||
| %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) | %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) | ||||||
| %global cataver 0.1.7 | %global cataver 0.1.7 | ||||||
| #%%global dnsnamever 1.3.0 | #%%global dnsnamever 1.3.0 | ||||||
| %global commit_dnsname 18822f9a4fb35d1349eb256f4cd2bfd372474d84 | %global commit_dnsname 18822f9a4fb35d1349eb256f4cd2bfd372474d84 | ||||||
| %global shortcommit_dnsname %(c=%{commit_dnsname}; echo ${c:0:7}) | %global shortcommit_dnsname %(c=%{commit_dnsname}; echo ${c:0:7}) | ||||||
| %global gvproxyrepo gvisor-tap-vsock | %global gvproxyrepo gvisor-tap-vsock | ||||||
| %global gvproxyver 0.4.0 | %global gvproxyver 0.5.0 | ||||||
| %global commit_gvproxy fdc231ae7b8fe1aec4cf0b8777274fa21b70d789 | %global commit_gvproxy aab0ac9367fc5142f5857c36ac2352bcb3c60ab7 | ||||||
| %global commit_mcni 0749884b8d1a455c68da30789e37811ec0809d51 |  | ||||||
| %global shortcommit_mcni %(c=%{commit_mcni}; echo ${c:0:7}) |  | ||||||
| 
 | 
 | ||||||
| Epoch: 3 | Epoch: 3 | ||||||
| Name: podman | Name: podman | ||||||
| Version: 4.3.1 | Version: 4.4.1 | ||||||
| Release: 2%{?dist} | Release: 8%{?dist} | ||||||
| Summary: Manage Pods, Containers and Container Images | Summary: Manage Pods, Containers and Container Images | ||||||
| License: ASL 2.0 and GPLv3+ | License: ASL 2.0 and GPLv3+ | ||||||
| URL: https://%{name}.io/ | URL: https://%{name}.io/ | ||||||
| @ -35,7 +33,6 @@ Source0: https://%{import_path}/archive/%{commit0}/%{name}-%{version}-%{shortcom | |||||||
| Source1: https://github.com/openSUSE/catatonit/archive/v%{cataver}.tar.gz | Source1: https://github.com/openSUSE/catatonit/archive/v%{cataver}.tar.gz | ||||||
| #Source2: https://github.com/containers/dnsname/archive/v%%{dnsnamever}.tar.gz | #Source2: https://github.com/containers/dnsname/archive/v%%{dnsnamever}.tar.gz | ||||||
| Source2: https://github.com/containers/dnsname/archive/%{commit_dnsname}/dnsname-%{shortcommit_dnsname}.tar.gz | Source2: https://github.com/containers/dnsname/archive/%{commit_dnsname}/dnsname-%{shortcommit_dnsname}.tar.gz | ||||||
| Source3: https://github.com/containers/%{name}-machine-cni/archive/%{commit_mcni}/%{name}-machine-cni-%{shortcommit_mcni}.tar.gz |  | ||||||
| Source4: https://github.com/containers/gvisor-tap-vsock/archive/%{commit_gvproxy}/gvisor-tap-vsock-%{commit_gvproxy}.tar.gz | Source4: https://github.com/containers/gvisor-tap-vsock/archive/%{commit_gvproxy}/gvisor-tap-vsock-%{commit_gvproxy}.tar.gz | ||||||
| # https://fedoraproject.org/wiki/PackagingDrafts/Go#Go_Language_Architectures | # https://fedoraproject.org/wiki/PackagingDrafts/Go#Go_Language_Architectures | ||||||
| ExclusiveArch: %{go_arches} | ExclusiveArch: %{go_arches} | ||||||
| @ -62,7 +59,6 @@ BuildRequires: python3 | |||||||
| # for catatonit | # for catatonit | ||||||
| BuildRequires: autoconf | BuildRequires: autoconf | ||||||
| BuildRequires: automake | BuildRequires: automake | ||||||
| BuildRequires: file |  | ||||||
| BuildRequires: gcc | BuildRequires: gcc | ||||||
| BuildRequires: libtool | BuildRequires: libtool | ||||||
| Requires: containers-common >= 2:1-27 | Requires: containers-common >= 2:1-27 | ||||||
| @ -187,7 +183,6 @@ pushd catatonit-%{cataver} | |||||||
| sed -i '$d' configure.ac | sed -i '$d' configure.ac | ||||||
| popd | popd | ||||||
| tar fx %{SOURCE2} | tar fx %{SOURCE2} | ||||||
| tar fx %{SOURCE3} |  | ||||||
| tar fx %{SOURCE4} | tar fx %{SOURCE4} | ||||||
| 
 | 
 | ||||||
| # this is shipped by skopeo: containers-common subpackage | # this is shipped by skopeo: containers-common subpackage | ||||||
| @ -202,11 +197,13 @@ CFLAGS="%{optflags} -fPIE -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURC | |||||||
| %{__make} %{?_smp_mflags} | %{__make} %{?_smp_mflags} | ||||||
| # Make sure we *always* build a static binary for catatonit. Otherwise we'll break containers | # Make sure we *always* build a static binary for catatonit. Otherwise we'll break containers | ||||||
| # that don't have the necessary shared libs. | # that don't have the necessary shared libs. | ||||||
| file catatonit | grep 'statically linked' | set +e | ||||||
| if [ $? != 0 ]; then | /usr/bin/ldd catatonit | ||||||
|  | if [ $? != 1 ]; then | ||||||
|    echo "ERROR: catatonit binary must be statically linked!" |    echo "ERROR: catatonit binary must be statically linked!" | ||||||
|    exit 1 |    exit 1 | ||||||
| fi | fi | ||||||
|  | set -e | ||||||
| popd | popd | ||||||
| 
 | 
 | ||||||
| export GO111MODULE=off | export GO111MODULE=off | ||||||
| @ -244,6 +241,9 @@ export BUILDTAGS="seccomp btrfs_noversion exclude_graphdriver_devicemapper exclu | |||||||
| export BUILDTAGS="remote $BUILDTAGS" | export BUILDTAGS="remote $BUILDTAGS" | ||||||
| %gobuild -o bin/%{name}-remote %{import_path}/cmd/%{name} | %gobuild -o bin/%{name}-remote %{import_path}/cmd/%{name} | ||||||
| 
 | 
 | ||||||
|  | # build quadlet | ||||||
|  | %gobuild -o bin/quadlet %{import_path}/cmd/quadlet | ||||||
|  | 
 | ||||||
| %{__make} docs | %{__make} docs | ||||||
| 
 | 
 | ||||||
| # build dnsname plugin | # build dnsname plugin | ||||||
| @ -259,17 +259,6 @@ export GOPATH=$(pwd)/_build:$(pwd) | |||||||
| %gobuild -o bin/dnsname github.com/containers/dnsname/plugins/meta/dnsname | %gobuild -o bin/dnsname github.com/containers/dnsname/plugins/meta/dnsname | ||||||
| popd | popd | ||||||
| 
 | 
 | ||||||
| pushd %{name}-machine-cni-%{commit_mcni} |  | ||||||
| mkdir _build |  | ||||||
| pushd _build |  | ||||||
| mkdir -p src/github.com/containers |  | ||||||
| ln -s ../../../../ src/github.com/containers/%{name}-machine-cni |  | ||||||
| popd |  | ||||||
| ln -s vendor src |  | ||||||
| export GOPATH=$(pwd)/_build:$(pwd) |  | ||||||
| %gobuild -o bin/%{name}-machine github.com/containers/%{name}-machine-cni/plugins/meta/%{name}-machine |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| pushd gvisor-tap-vsock-%{commit_gvproxy} | pushd gvisor-tap-vsock-%{commit_gvproxy} | ||||||
| mkdir _build | mkdir _build | ||||||
| pushd _build | pushd _build | ||||||
| @ -314,11 +303,6 @@ pushd dnsname-%{commit_dnsname} | |||||||
| %{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install | %{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install | ||||||
| popd | popd | ||||||
| 
 | 
 | ||||||
| # install machine-cni plugin |  | ||||||
| pushd %{name}-machine-cni-%{commit_mcni} |  | ||||||
| %{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| # install gvproxy | # install gvproxy | ||||||
| pushd gvisor-tap-vsock-%{commit_gvproxy} | pushd gvisor-tap-vsock-%{commit_gvproxy} | ||||||
| install -dp %{buildroot}%{_libexecdir}/%{name} | install -dp %{buildroot}%{_libexecdir}/%{name} | ||||||
| @ -365,6 +349,7 @@ fi | |||||||
| %license LICENSE | %license LICENSE | ||||||
| %doc README.md CONTRIBUTING.md install.md transfer.md | %doc README.md CONTRIBUTING.md install.md transfer.md | ||||||
| %{_bindir}/%{name} | %{_bindir}/%{name} | ||||||
|  | %{_libexecdir}/%{name}/quadlet | ||||||
| %{_libexecdir}/%{name}/rootlessport | %{_libexecdir}/%{name}/rootlessport | ||||||
| %{_datadir}/bash-completion/completions/%{name} | %{_datadir}/bash-completion/completions/%{name} | ||||||
| # By "owning" the site-functions dir, we don't need to Require zsh | # By "owning" the site-functions dir, we don't need to Require zsh | ||||||
| @ -406,12 +391,13 @@ fi | |||||||
| %{_libexecdir}/catatonit/catatonit | %{_libexecdir}/catatonit/catatonit | ||||||
| %dir %{_libexecdir}/podman | %dir %{_libexecdir}/podman | ||||||
| %{_libexecdir}/podman/catatonit | %{_libexecdir}/podman/catatonit | ||||||
|  | %{_usr}/lib/systemd/system-generators/podman-system-generator | ||||||
|  | %{_usr}/lib/systemd/user-generators/podman-user-generator | ||||||
| 
 | 
 | ||||||
| %files plugins | %files plugins | ||||||
| %license dnsname-%{commit_dnsname}/LICENSE | %license dnsname-%{commit_dnsname}/LICENSE | ||||||
| %doc dnsname-%{commit_dnsname}/{README.md,README_PODMAN.md} | %doc dnsname-%{commit_dnsname}/{README.md,README_PODMAN.md} | ||||||
| %{_libexecdir}/cni/dnsname | %{_libexecdir}/cni/dnsname | ||||||
| %{_libexecdir}/cni/%{name}-machine |  | ||||||
| 
 | 
 | ||||||
| %files tests | %files tests | ||||||
| %license LICENSE | %license LICENSE | ||||||
| @ -424,6 +410,10 @@ fi | |||||||
| %{_libexecdir}/%{name}/gvproxy | %{_libexecdir}/%{name}/gvproxy | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Wed Mar 08 2023 Jindrich Novy <jnovy@redhat.com> - 3:4.4.1-8 | ||||||
|  | - use ldd directly to check for static link - avoid broken file utility | ||||||
|  | - Related: #2176055 | ||||||
|  | 
 | ||||||
| * Thu Dec 15 2022 Jindrich Novy <jnovy@redhat.com> - 3:4.3.1-2 | * Thu Dec 15 2022 Jindrich Novy <jnovy@redhat.com> - 3:4.3.1-2 | ||||||
| - update to the latest content of https://github.com/containers/podman/tree/v4.3.1-rhel | - update to the latest content of https://github.com/containers/podman/tree/v4.3.1-rhel | ||||||
|   (https://github.com/containers/podman/commit/d9a6336) |   (https://github.com/containers/podman/commit/d9a6336) | ||||||
|  | |||||||
| @ -1,3 +0,0 @@ | |||||||
| --- |  | ||||||
| annocheck: |  | ||||||
|   - hardened: --skip-pie --skip-lto --ignore-unknown --verbose |  | ||||||
							
								
								
									
										5
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								sources
									
									
									
									
									
								
							| @ -1,5 +1,4 @@ | |||||||
| SHA512 (dnsname-18822f9.tar.gz) = de371722fbf18cd23b31485ee7ba36bb41d0d9a932d15e50872989c3ca1ff7246da63143c3725d81089fadda3821a54c18b22150d9d16005b07df6824f5f71f8 | SHA512 (dnsname-18822f9.tar.gz) = de371722fbf18cd23b31485ee7ba36bb41d0d9a932d15e50872989c3ca1ff7246da63143c3725d81089fadda3821a54c18b22150d9d16005b07df6824f5f71f8 | ||||||
| SHA512 (gvisor-tap-vsock-fdc231ae7b8fe1aec4cf0b8777274fa21b70d789.tar.gz) = 9441a6b0dc64961994ec9c268ad81916c4b88bf5c508c32dc6b0f68a993dc0c57c92304bfaa525aafe6445107314fc6954a65dbfb53432450ac0076d7d68c1ba | SHA512 (gvisor-tap-vsock-aab0ac9367fc5142f5857c36ac2352bcb3c60ab7.tar.gz) = e138125f0fad46f84afebad5769d4428cb29f24ce34e209b21689dc4409487bf2e946c9eb6551297baf36286c9be9a5310a77df4884563cfe247113980f18291 | ||||||
| SHA512 (podman-machine-cni-0749884.tar.gz) = fe5f6a69118c0d3475c76c61bf1b50f1d5772fe9a4d20b23e59010e72f8cbd7fb7d4091ce8ab43af8becf77e5234b63191e3e01932f30f8386235822de2e42f4 |  | ||||||
| SHA512 (v0.1.7.tar.gz) = 7d3174c60e1c8bd1f4b95b7751ccbe01cac63265060f18914b53311f68f7b4c63c693604f348ccfac5db4a96939169f835fbbbd614803b18062053d94f7dca67 | SHA512 (v0.1.7.tar.gz) = 7d3174c60e1c8bd1f4b95b7751ccbe01cac63265060f18914b53311f68f7b4c63c693604f348ccfac5db4a96939169f835fbbbd614803b18062053d94f7dca67 | ||||||
| SHA512 (v4.3.1-rhel-d9a6336.tar.gz) = 79a6cd21f7234738edad3d6e1280db9fc318c8ce79fd2863bfeae8dda139d20f1a1d929e945768ba246b499ee0bfce72211e8ea78ba1adca00b28466a9be3cb4 | SHA512 (v4.4.1-rhel-e1703bb.tar.gz) = 910dfcdb4cf09b17bac0070d923b11c92ff3ab6995f5e8e811b4ab20481b6ee91d76d10b69384f0375b53f98cf75c205190ba18645bc2a976977f9b86667f263 | ||||||
|  | |||||||
| @ -1,12 +0,0 @@ | |||||||
| --- |  | ||||||
| # Sigh; RHEL8 doesn't have BATS |  | ||||||
| - name: bats | fetch and unpack tarball |  | ||||||
|   unarchive: |  | ||||||
|     src: https://github.com/bats-core/bats-core/archive/v1.5.0.tar.gz |  | ||||||
|     dest: /root |  | ||||||
|     remote_src: true |  | ||||||
| 
 |  | ||||||
| - name: bats | install |  | ||||||
|   command: ./install.sh /usr/local |  | ||||||
|   args: |  | ||||||
|     chdir: /root/bats-core-1.5.0 |  | ||||||
| @ -1,7 +0,0 @@ | |||||||
| --- |  | ||||||
| - name: create rootless user |  | ||||||
|   user: |  | ||||||
|     name: testuser |  | ||||||
|     shell: /bin/bash |  | ||||||
| - name: enable linger |  | ||||||
|   command: loginctl enable-linger testuser |  | ||||||
| @ -1,72 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # Run bats tests for a given $TEST_PACKAGE, e.g. buildah, podman |  | ||||||
| # |  | ||||||
| # This is invoked by the 'run_bats_tests' role; we assume that |  | ||||||
| # the package foo has a foo-tests subpackage which provides the |  | ||||||
| # directory /usr/share/foo/test/system, containing one or more .bats |  | ||||||
| # test files. |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| export PATH=/usr/local/bin:/usr/sbin:/usr/bin |  | ||||||
| 
 |  | ||||||
| FULL_LOG=/tmp/test.debug.log |  | ||||||
| BATS_LOG=/tmp/test.bats.log |  | ||||||
| rm -f $FULL_LOG $BATS_LOG |  | ||||||
| touch $FULL_LOG $BATS_LOG |  | ||||||
| 
 |  | ||||||
| exec &> $FULL_LOG |  | ||||||
| 
 |  | ||||||
| # Log program versions |  | ||||||
| echo "Packages:" |  | ||||||
| rpm -q ${TEST_PACKAGE} ${TEST_PACKAGE}-tests |  | ||||||
| 
 |  | ||||||
| echo "------------------------------" |  | ||||||
| printenv | sort |  | ||||||
| 
 |  | ||||||
| testdir=/usr/share/${TEST_PACKAGE}/test/system |  | ||||||
| 
 |  | ||||||
| if ! cd $testdir; then |  | ||||||
|     echo "FAIL ${TEST_NAME} : cd $testdir"      >> /tmp/test.log |  | ||||||
|     exit 0 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -e /tmp/helper.sh ]; then |  | ||||||
|     echo "------------------------------" |  | ||||||
|     echo ". /tmp/helper.sh" |  | ||||||
|     . /tmp/helper.sh |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ "$(type -t setup)" = "function" ]; then |  | ||||||
|     echo "------------------------------" |  | ||||||
|     echo "\$ setup" |  | ||||||
|     setup |  | ||||||
|     if [ $? -ne 0 ]; then |  | ||||||
|         echo "FAIL ${TEST_NAME} : setup"       >> /tmp/test.log |  | ||||||
|         exit 0 |  | ||||||
|     fi |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| echo "------------------------------" |  | ||||||
| echo "\$ bats ." |  | ||||||
| bats . &> $BATS_LOG |  | ||||||
| rc=$? |  | ||||||
| 
 |  | ||||||
| echo "------------------------------" |  | ||||||
| echo "bats completed with status $rc" |  | ||||||
| 
 |  | ||||||
| status=PASS |  | ||||||
| if [ $rc -ne 0 ]; then |  | ||||||
|     status=FAIL |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| echo "${status} ${TEST_NAME}" >> /tmp/test.log |  | ||||||
| 
 |  | ||||||
| if [ "$(type -t teardown)" = "function" ]; then |  | ||||||
|     echo "------------------------------" |  | ||||||
|     echo "\$ teardown" |  | ||||||
|     teardown |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # FIXME: for CI purposes, always exit 0. This allows subsequent tests. |  | ||||||
| exit 0 |  | ||||||
| @ -1,37 +0,0 @@ | |||||||
| --- |  | ||||||
| # Create empty results file, world-writable |  | ||||||
| - name: initialize test.log file |  | ||||||
|   copy: dest=/tmp/test.log content='' force=yes mode=0666 |  | ||||||
| 
 |  | ||||||
| - name: execute tests |  | ||||||
|   include: run_one_test.yml |  | ||||||
|   with_items: "{{ tests }}" |  | ||||||
|   loop_control: |  | ||||||
|     loop_var: test |  | ||||||
| 
 |  | ||||||
| - name: pull test.log results |  | ||||||
|   fetch: |  | ||||||
|     src: "/tmp/test.log" |  | ||||||
|     dest: "{{ artifacts }}/test.log" |  | ||||||
|     flat: yes |  | ||||||
| 
 |  | ||||||
| # Copied from standard-test-basic |  | ||||||
| - name: check results |  | ||||||
|   shell: grep "^FAIL" /tmp/test.log |  | ||||||
|   register: test_fails |  | ||||||
|   # Never fail at this step. Just store result of tests. |  | ||||||
|   failed_when: False |  | ||||||
| 
 |  | ||||||
| - name: preserve results |  | ||||||
|   set_fact: |  | ||||||
|     role_result_failed: "{{ (test_fails.stdout|d|length > 0) or (test_fails.stderr|d|length > 0) }}" |  | ||||||
|     role_result_msg: "{{ test_fails.stdout|d('tests failed.') }}" |  | ||||||
| 
 |  | ||||||
| - name: display results |  | ||||||
|   vars: |  | ||||||
|     msg: | |  | ||||||
|        Tests failed: {{ role_result_failed|d('Undefined') }} |  | ||||||
|        Tests msg: {{ role_result_msg|d('None') }} |  | ||||||
|   debug: |  | ||||||
|     msg: "{{ msg.split('\n') }}" |  | ||||||
|   failed_when: "role_result_failed|bool" |  | ||||||
| @ -1,52 +0,0 @@ | |||||||
| --- |  | ||||||
| - name: "{{ test.name }} | install test packages" |  | ||||||
|   dnf: name="{{ test.package }}-tests" state=installed |  | ||||||
| 
 |  | ||||||
| - name: "{{ test.name }} | define helper variables" |  | ||||||
|   set_fact: |  | ||||||
|     test_name_oneword: "{{ test.name | replace(' ','-') }}" |  | ||||||
| 
 |  | ||||||
| # UGH. This is necessary because our caller sets some environment variables |  | ||||||
| # and we need to set a few more based on other caller variables; then we |  | ||||||
| # need to combine the two dicts when running the test. This seems to be |  | ||||||
| # the only way to do it in ansible. |  | ||||||
| - name: "{{ test.name }} | define local environment" |  | ||||||
|   set_fact: |  | ||||||
|     local_environment: |  | ||||||
|       TEST_NAME:    "{{ test.name }}" |  | ||||||
|       TEST_PACKAGE: "{{ test.package }}" |  | ||||||
|       TEST_ENV:     "{{ test.environment }}" |  | ||||||
| 
 |  | ||||||
| - name: "{{ test.name }} | setup/teardown helper | see if exists" |  | ||||||
|   local_action: stat path={{ role_path }}/files/helper.{{ test_name_oneword }}.sh |  | ||||||
|   register: helper |  | ||||||
| 
 |  | ||||||
| - name: "{{ test.name }} | setup/teardown helper | install" |  | ||||||
|   copy: src=helper.{{ test_name_oneword }}.sh dest=/tmp/helper.sh |  | ||||||
|   when: helper.stat.exists |  | ||||||
| 
 |  | ||||||
| - name: "{{ test.name }} | run test" |  | ||||||
|   script: ./run_bats_tests.sh |  | ||||||
|   args: |  | ||||||
|     chdir: /usr/share/{{ test.package }}/test/system |  | ||||||
|   become: "{{ true if test.become is defined else false }}" |  | ||||||
|   become_user: testuser |  | ||||||
|   environment: "{{ local_environment | combine(test.environment) }}" |  | ||||||
| 
 |  | ||||||
| - name: "{{ test.name }} | pull logs" |  | ||||||
|   fetch: |  | ||||||
|     src: "/tmp/test.{{ item }}.log" |  | ||||||
|     dest: "{{ artifacts }}/test.{{ test_name_oneword }}.{{ item }}.log" |  | ||||||
|     flat: yes |  | ||||||
|   with_items: |  | ||||||
|     - bats |  | ||||||
|     - debug |  | ||||||
| 
 |  | ||||||
| - name: "{{ test.name }} | remove remote logs and helpers" |  | ||||||
|   file: |  | ||||||
|     dest=/tmp/{{ item }} |  | ||||||
|     state=absent |  | ||||||
|   with_items: |  | ||||||
|     - test.bats.log |  | ||||||
|     - test.debug.log |  | ||||||
|     - helper.sh |  | ||||||
| @ -1,25 +0,0 @@ | |||||||
| --- |  | ||||||
| - hosts: localhost |  | ||||||
|   tags:  classic |  | ||||||
|   vars: |  | ||||||
|   - artifacts: ./artifacts |  | ||||||
|   roles: |  | ||||||
|   - role: bats_installed |  | ||||||
|   - role: rootless_user |  | ||||||
|   - role: run_bats_tests |  | ||||||
|     tests: |  | ||||||
|     - name:    podman root |  | ||||||
|       package: podman |  | ||||||
|       environment: |  | ||||||
|         PODMAN: /usr/bin/podman |  | ||||||
| 
 |  | ||||||
|     - name:    podman rootless |  | ||||||
|       package: podman |  | ||||||
|       environment: |  | ||||||
|         PODMAN: /usr/bin/podman |  | ||||||
|       become:  true |  | ||||||
| 
 |  | ||||||
|       #- name:    podman-remote root |  | ||||||
|       #package: podman |  | ||||||
|       #environment: |  | ||||||
|       #  PODMAN: /usr/bin/podman-remote |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user