Skip to content

Commit 4fe2142

Browse files
committed
test: Add Packit and gating test
Use 'system-reinstall-bootc' to re-install TF runner from package mode to image mode Signed-off-by: Xiaofeng Wang <[email protected]>
1 parent 78f3439 commit 4fe2142

File tree

13 files changed

+325
-29
lines changed

13 files changed

+325
-29
lines changed

.packit.yaml

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -64,21 +64,18 @@ jobs:
6464
failure_comment:
6565
message: "bootc Copr build failed for {commit_sha}. @admin check logs {logs_url} and packit dashboard {packit_dashboard_url}"
6666

67-
# TODO: Readd some tmt tests that install the built RPM and e.g. test out system-reinstall-bootc
68-
# - job: tests
69-
# trigger: pull_request
70-
# targets:
71-
# - centos-stream-9-x86_64
72-
# - centos-stream-9-aarch64
73-
# - centos-stream-10-x86_64
74-
# - centos-stream-10-aarch64
75-
# - fedora-42-x86_64
76-
# - fedora-42-aarch64
77-
# - fedora-rawhide-x86_64
78-
# - fedora-rawhide-aarch64
79-
# tmt_plan: /integration
80-
# skip_build: true
81-
# identifier: integration-test
67+
- job: tests
68+
trigger: pull_request
69+
targets:
70+
- centos-stream-9-x86_64
71+
- centos-stream-9-aarch64
72+
- centos-stream-10-x86_64
73+
- centos-stream-10-aarch64
74+
- fedora-42-x86_64
75+
- fedora-42-aarch64
76+
- fedora-rawhide-x86_64
77+
- fedora-rawhide-aarch64
78+
tmt_plan: /packit/
8279

8380
- job: propose_downstream
8481
trigger: release

hack/Containerfile.packit

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Build image for system-reinstall-bootc test
2+
3+
# Use centos-bootc:10 as default
4+
FROM quay.io/centos-bootc/centos-bootc:stream10
5+
6+
WORKDIR /bootc-test
7+
8+
# Some rhts-*, rstrnt-* and tmt-* commands are in /usr/local/bin
9+
COPY bin /usr/local/bin
10+
# Save testing farm run files
11+
COPY ARTIFACTS /var/ARTIFACTS
12+
# COPY tmt /var/tmp/tmt
13+
14+
RUN <<EORUN
15+
set -xeuo pipefail
16+
. /usr/lib/os-release
17+
if [[ $ID == "rhel" ]]; then
18+
cp rhel.repo /etc/yum.repos.d/
19+
fi
20+
cp test-artifacts.repo /etc/yum.repos.d/
21+
dnf -y update bootc
22+
./provision-derived.sh
23+
24+
# For test-22-logically-bound-install
25+
cp -a lbi/usr/. /usr
26+
for x in curl.container curl-base.image podman.image; do
27+
ln -s /usr/share/containers/systemd/$x /usr/lib/bootc/bound-images.d/$x
28+
done
29+
30+
# Add some testing kargs into our dev builds
31+
install -D -t /usr/lib/bootc/kargs.d test-kargs/*
32+
# Also copy in some default install configs we use for testing
33+
install -D -t /usr/lib/bootc/install/ install-test-configs/*
34+
35+
# Finally, test our own linting
36+
# bootc container lint --fatal-warnings
37+
EORUN

hack/bin/aws

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/usr/local/aws-cli/v2/current/bin/aws

hack/bin/aws_completer

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/usr/local/aws-cli/v2/current/bin/aws_completer

hack/bin/tomlq

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
from yq import tq_cli
6+
if __name__ == '__main__':
7+
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8+
sys.exit(tq_cli())

hack/bin/xq

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
from yq import xq_cli
6+
if __name__ == '__main__':
7+
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8+
sys.exit(xq_cli())

hack/bin/yq

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
from yq import cli
6+
if __name__ == '__main__':
7+
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8+
sys.exit(cli())

hack/test-artifacts.repo

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[bootc]
2+
name=bootc
3+
baseurl=https://download.copr.fedorainfracloud.org/results/packit/bootc-dev-bootc-1642/fedora-42-$basearch/
4+
enabled=1
5+
gpgcheck=0
6+
repo_gpgcheck=0

tmt/plans/integration.fmf

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,51 @@
1+
discover:
2+
how: fmf
13
provision:
24
how: virtual
35
# Build via `./tests/build.sh`
46
image: $@{test_disk_image}
57
execute:
68
how: tmt
79

8-
/readonly-tests:
10+
/test-01-readonly:
911
summary: Execute booted readonly/nondestructive tests
10-
discover:
12+
discover+:
1113
how: fmf
1214
test:
1315
- /tmt/tests/test-01-readonly
1416

1517
/test-20-local-upgrade:
1618
summary: Execute local upgrade tests
17-
discover:
18-
how: fmf
19+
discover+:
1920
test:
2021
- /tmt/tests/test-20-local-upgrade
2122

2223
/test-21-logically-bound-switch:
2324
summary: Execute logically bound images tests for switching images
24-
discover:
25-
how: fmf
25+
discover+:
2626
test:
2727
- /tmt/tests/test-21-logically-bound-switch
2828

2929
/test-22-logically-bound-install:
3030
summary: Execute logically bound images tests for switching images
31-
discover:
32-
how: fmf
31+
discover+:
3332
test:
3433
- /tmt/tests/test-22-logically-bound-install
3534

3635
/test-23-install-outside-container:
3736
summary: Execute tests for installing outside of a container
38-
discover:
39-
how: fmf
37+
discover+:
4038
test:
4139
- /tmt/tests/test-23-install-outside-container
4240

4341
/test-24-local-upgrade-reboot:
4442
summary: Execute local upgrade tests with automated reboot
45-
discover:
46-
how: fmf
43+
discover+:
4744
test:
4845
- /tmt/tests/test-24-local-upgrade-reboot
4946

5047
/test-25-soft-reboot:
5148
summary: Soft reboot support
52-
discover:
53-
how: fmf
49+
discover+:
5450
test:
5551
- /tmt/tests/test-25-soft-reboot

tmt/plans/packit.fmf

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
discover:
2+
how: fmf
3+
provision:
4+
how: virtual
5+
image: $@{test_disk_image}
6+
prepare:
7+
- how: install
8+
package:
9+
- podman
10+
- skopeo
11+
- jq
12+
execute:
13+
how: tmt
14+
exit-first: true
15+
16+
/test-01-readonly:
17+
summary: Execute booted readonly/nondestructive tests
18+
discover+:
19+
how: fmf
20+
test:
21+
- /tmt/tests/test-00-system-reinstall-bootc
22+
- /tmt/tests/test-01-readonly
23+
24+
/test-20-local-upgrade:
25+
summary: Execute local upgrade tests
26+
discover+:
27+
test:
28+
- /tmt/tests/test-00-system-reinstall-bootc
29+
- /tmt/tests/test-20-local-upgrade
30+
31+
/test-21-logically-bound-switch:
32+
summary: Execute logically bound images tests for switching images
33+
discover+:
34+
test:
35+
- /tmt/tests/test-00-system-reinstall-bootc
36+
- /tmt/tests/test-21-logically-bound-switch
37+
38+
/test-22-logically-bound-install:
39+
summary: Execute logically bound images tests for switching images
40+
discover+:
41+
test:
42+
- /tmt/tests/test-00-system-reinstall-bootc
43+
- /tmt/tests/test-22-logically-bound-install
44+
45+
/test-23-install-outside-container:
46+
summary: Execute tests for installing outside of a container
47+
discover+:
48+
test:
49+
- /tmt/tests/test-00-system-reinstall-bootc
50+
- /tmt/tests/test-23-install-outside-container
51+
52+
/test-24-local-upgrade-reboot:
53+
summary: Execute local upgrade tests with automated reboot
54+
discover+:
55+
test:
56+
- /tmt/tests/test-00-system-reinstall-bootc
57+
- /tmt/tests/test-24-local-upgrade-reboot
58+
59+
/test-25-soft-reboot:
60+
summary: Soft reboot support
61+
discover+:
62+
test:
63+
- /tmt/tests/test-00-system-reinstall-bootc
64+
- /tmt/tests/test-25-soft-reboot

0 commit comments

Comments
 (0)