Skip to content

Commit

Permalink
TMT: revdep podman build test
Browse files Browse the repository at this point in the history
Co-authored-by: Chris Evich <[email protected]>
Signed-off-by: Lokesh Mandvekar <[email protected]>
  • Loading branch information
lsm5 and cevich committed Dec 17, 2024
1 parent 70397a6 commit 1c8ce7d
Show file tree
Hide file tree
Showing 7 changed files with 163 additions and 10 deletions.
1 change: 1 addition & 0 deletions .fmf/version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1
36 changes: 26 additions & 10 deletions .packit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@ jobs:
- job: copr_build
trigger: pull_request
packages: [containers-common-fedora]
notifications: &ephemeral_build_failure_notification
failure_comment:
message: "Ephemeral COPR build failed. @containers/packit-build please check."
# notifications: &ephemeral_build_failure_notification
# failure_comment:
# message: "Ephemeral COPR build failed. @containers/packit-build please check."
enable_net: true
targets:
- fedora-all
targets: &fedora_copr_targets
- fedora-rawhide

- job: copr_build
trigger: pull_request
trigger: ignore
packages: [containers-common-eln]
notifications: *ephemeral_build_failure_notification
#notifications: *ephemeral_build_failure_notification
enable_net: true
targets:
fedora-eln:
Expand All @@ -45,11 +45,11 @@ jobs:
- https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/

- job: copr_build
trigger: pull_request
trigger: ignore
packages: [containers-common-centos]
notifications: *ephemeral_build_failure_notification
#notifications: *ephemeral_build_failure_notification
enable_net: true
targets:
targets: &centos_copr_targets
- centos-stream-9
- centos-stream-10

Expand All @@ -65,6 +65,22 @@ jobs:
project: podman-next
enable_net: true

# All tests specified in the `/plans/` subdir
- job: tests
trigger: pull_request
packages: [containers-common-fedora]
targets: *fedora_copr_targets
enable_net: true
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
tmt:
context:
revdeps: "yes"


- job: propose_downstream
trigger: release
packages: [containers-common-fedora]
Expand Down
24 changes: 24 additions & 0 deletions contrib/tmtplans/buildah_build_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash

set -eox pipefail

rpm -q golang

if [ -f /etc/fedora-release ]; then
export TMPDIR=/var/tmp
fi

git clone https://github.com/containers/podman

cd podman
dnf -y builddep rpm/podman.spec

go mod edit -replace github.com/containers/common=../
make vendor
cat go.mod

git add vendor/
git config --global user.email "[email protected]"
git config --global user.name "Your Name"

make rpm
12 changes: 12 additions & 0 deletions contrib/tmtplans/main.fmf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
prepare:
- how: install
package:
- containers-common
- containers-common-extra
- podman-tests

/podman_build_test:
summary: Build Podman
execute:
how: tmt
script: bash ./contrib/tmtplans/podman_build_test.sh
26 changes: 26 additions & 0 deletions contrib/tmtplans/podman_build_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env bash

set -exo pipefail

rpm -q golang

#if [ -f /etc/fedora-release ]; then
# export TMPDIR=/var/tmp
#fi

# Navigate to parent dir of default working dir
cd ..

# Clone podman
git clone https://github.com/containers/podman

cd podman
dnf -y builddep rpm/podman.spec

# Vendor c/common from PR
# TMT_TREE points to the default working dir
go mod edit -replace github.com/containers/common=$TMT_TREE
make vendor
cat go.mod

make
31 changes: 31 additions & 0 deletions plans/main.fmf
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
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=5' /etc/yum.repos.d/*rhcontainerbot*.repo
- when: distro == centos-stream or distro == rhel
because: "bats package is present in epel"
prepare+:
how: feature
epel: enabled

/upstream:
summary: Run SELinux specific Podman tests on upstream PRs
discover+:
filter: tag:upstream
adjust+:
- when: initiator is not defined or initiator != packit
enabled: false

/downstream:
summary: Run SELinux specific Podman tests on bodhi / errata and dist-git PRs
discover+:
filter: tag:downstream
adjust+:
- when: initiator == packit
enabled: false
43 changes: 43 additions & 0 deletions plans/podman.fmf
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
enabled: false

adjust+:
- when: revdeps == yes
enabled: true
- 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=5' /etc/yum.repos.d/*rhcontainerbot*.repo
- when: distro == centos-stream or distro == rhel
because: "bats package is present in epel"
prepare+:
how: feature
epel: enabled

discover:
how: fmf
url: https://github.com/lsm5/podman
ref: "tmt-fedora-centos"

execute:
how: tmt

/local-root:
summary: Run local rootful tests
discover+:
test: /test/tmt/system-test/local-root

/local-rootless:
summary: Run local rootless tests
discover+:
test: /test/tmt/system-test/local-rootless

/remote-root:
summary: Run remote rootful tests
discover+:
test: /test/tmt/system-test/remote-root

/remote-rootless:
summary: Run remote rootless tests
discover+:
test: /test/tmt/system-test/remote-rootless

0 comments on commit 1c8ce7d

Please sign in to comment.