Compare commits
93 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b7c04fccdf | ||
|
|
a05f166701 | ||
|
|
69aa69ce9f | ||
|
|
46e4c5cb69 |
||
|
|
26e56e009e | ||
|
|
79a2083f22 | ||
|
|
05088c122a | ||
|
|
ffc3a2cfe4 | ||
|
|
6a0cbd4f54 | ||
|
|
cc02dba574 | ||
|
|
cedabe303c | ||
|
|
9fe63a30e3 | ||
|
|
01d5f7a72d | ||
|
|
57a53f65eb | ||
|
|
03beeaabfe | ||
|
|
10f2788e2e | ||
|
|
bf6ed770f4 | ||
|
|
f21cb2e226 | ||
|
|
b862c5236f | ||
|
|
d045d1ee1d | ||
|
|
f74651e09a | ||
|
|
acc97bad56 | ||
|
|
1d416a1edd | ||
|
|
d003eff4f6 | ||
|
|
62a8f656f7 | ||
|
|
3863ba7579 | ||
|
|
3ed588da80 | ||
|
|
87244d0604 | ||
|
|
cf78f8d0ee | ||
|
|
1e20b7413b | ||
|
|
492d8dd5ab | ||
|
|
0e767184b7 | ||
|
|
22b98ffb7a | ||
|
|
d663ffb93a | ||
|
|
b076ceb696 | ||
|
|
7239772901 | ||
|
|
732517bcf0 | ||
|
|
213a753b33 |
||
|
|
4504feb5ba | ||
|
|
fae5d037f0 | ||
|
|
8b5b9366ca | ||
|
|
ae948af1e4 |
||
|
|
9d5f73f6c2 |
||
|
|
8fc9a5e791 | ||
|
|
4e32b279e6 |
||
|
|
4e66fad703 |
||
|
|
00795d94e9 |
||
|
|
bfa16d53dc |
||
|
|
e5d2c7da8e | ||
|
|
f4fcb9cdd9 | ||
|
|
8874dd69ea | ||
|
|
c0a479988d | ||
|
|
7379c6b819 | ||
|
|
ae2ab9006f | ||
|
|
bd9b7cc977 | ||
|
|
01f144734d | ||
|
|
23f0390c4c | ||
|
|
0e862cd8df | ||
|
|
0680f2ccf6 | ||
|
|
a36c9b6eff | ||
|
|
4456f265f9 | ||
|
|
574e70789c | ||
|
|
963d6215af | ||
|
|
bba065a9f6 | ||
|
|
cca56b7722 | ||
|
|
6b9f8ae13c | ||
|
|
7324d4a8a0 | ||
|
|
40faa8f303 | ||
|
|
1382e24f45 | ||
|
|
59ea618069 | ||
|
|
06d80d5fef | ||
|
|
de771889de | ||
|
|
c6a0f3a1f7 | ||
|
|
6c4e471637 | ||
|
|
82d7f71a7f | ||
|
|
0a7aa1737e | ||
|
|
97b9782493 | ||
|
|
f67255266e | ||
|
|
be0b5702b3 | ||
|
|
13f4a6c2e9 | ||
|
|
8b352dbe22 | ||
|
|
bae7304f0f | ||
|
|
9e8729711b | ||
|
|
adf93252d1 | ||
|
|
1fb76b43d7 | ||
|
|
2a4989d7df | ||
|
|
0ebb3a3ccd | ||
|
|
570fedc753 | ||
|
|
a33643159d | ||
|
|
ec9428aeb2 | ||
|
|
126625f838 |
||
|
|
6e129c6642 | ||
|
|
9e798a2f09 |
24 changed files with 37721 additions and 2027 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
39
.gitignore
vendored
39
.gitignore
vendored
|
|
@ -104,7 +104,6 @@
|
|||
/osbuild-104.tar.gz
|
||||
/osbuild-105.tar.gz
|
||||
/osbuild-106.tar.gz
|
||||
/osbuild-108.tar.gz
|
||||
/osbuild-109.tar.gz
|
||||
/osbuild-110.tar.gz
|
||||
/osbuild-111.tar.gz
|
||||
|
|
@ -112,6 +111,42 @@
|
|||
/osbuild-113.tar.gz
|
||||
/osbuild-114.tar.gz
|
||||
/osbuild-115.tar.gz
|
||||
/osbuild-116.tar.gz
|
||||
/osbuild-117.tar.gz
|
||||
/osbuild-118.tar.gz
|
||||
/osbuild-119.tar.gz
|
||||
/osbuild-122.tar.gz
|
||||
/osbuild-123.tar.gz
|
||||
/osbuild-124.tar.gz
|
||||
/osbuild-125.tar.gz
|
||||
/osbuild-126.tar.gz
|
||||
/osbuild-129.tar.gz
|
||||
/osbuild-130.tar.gz
|
||||
/osbuild-131.tar.gz
|
||||
/osbuild-132.tar.gz
|
||||
/osbuild-135.tar.gz
|
||||
/osbuild-136.tar.gz
|
||||
/osbuild-137.tar.gz
|
||||
/osbuild-138.tar.gz
|
||||
/osbuild-139.tar.gz
|
||||
/osbuild-140.tar.gz
|
||||
/osbuild-141.tar.gz
|
||||
/osbuild-142.tar.gz
|
||||
/osbuild-143.tar.gz
|
||||
/osbuild-144.tar.gz
|
||||
/osbuild-146.tar.gz
|
||||
/osbuild-147.tar.gz
|
||||
/osbuild-149.tar.gz
|
||||
/osbuild-151.tar.gz
|
||||
/osbuild-152.tar.gz
|
||||
/osbuild-153.tar.gz
|
||||
/osbuild-155.tar.gz
|
||||
/osbuild-156.tar.gz
|
||||
/osbuild-158.tar.gz
|
||||
/osbuild-159.tar.gz
|
||||
/osbuild-161.tar.gz
|
||||
/osbuild-162.tar.gz
|
||||
/osbuild-163.tar.gz
|
||||
/osbuild-164.tar.gz
|
||||
/osbuild-166.tar.gz
|
||||
/osbuild-167.tar.gz
|
||||
/osbuild-169.tar.gz
|
||||
|
|
|
|||
|
|
@ -26,10 +26,14 @@ jobs:
|
|||
job: copr_build
|
||||
trigger: pull_request
|
||||
targets:
|
||||
- centos-stream-8-aarch64
|
||||
- centos-stream-8-x86_64
|
||||
- centos-stream-9-aarch64
|
||||
- centos-stream-9-s390x
|
||||
- centos-stream-9-pcc64le
|
||||
- centos-stream-9-x86_64
|
||||
- centos-stream-10-aarch64
|
||||
- centos-stream-10-s390x
|
||||
- centos-stream-10-ppc64le
|
||||
- centos-stream-10-x86_64
|
||||
- epel-8-aarch64
|
||||
- epel-8-x86_64
|
||||
- epel-9-aarch64
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
From e8c219036302817882d469400b08cbac4b93a781 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Kellner <christian@kellner.me>
|
||||
Date: Fri, 20 Aug 2021 14:18:28 +0200
|
||||
Subject: [PATCH 1/3] runners: add Fedora 36 runner
|
||||
|
||||
New `org.osbuild.fedora36` which is re-using the f30 runner.
|
||||
Needed since Fedora 36 was branched already.
|
||||
---
|
||||
runners/org.osbuild.fedora36 | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 120000 runners/org.osbuild.fedora36
|
||||
|
||||
diff --git a/runners/org.osbuild.fedora36 b/runners/org.osbuild.fedora36
|
||||
new file mode 120000
|
||||
index 0000000..d46777b
|
||||
--- /dev/null
|
||||
+++ b/runners/org.osbuild.fedora36
|
||||
@@ -0,0 +1 @@
|
||||
+org.osbuild.fedora30
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.21.1 (Apple Git-122.3)
|
||||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
From 135b20a487c2b7435e296c9cfc7f96a826ba2d19 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Budai?= <ondrej@budai.cz>
|
||||
Date: Mon, 15 Aug 2022 14:13:55 +0200
|
||||
Subject: [PATCH] runners: add fedora38
|
||||
|
||||
It's that time of the year again.
|
||||
---
|
||||
runners/org.osbuild.fedora38 | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 120000 runners/org.osbuild.fedora38
|
||||
|
||||
diff --git a/runners/org.osbuild.fedora38 b/runners/org.osbuild.fedora38
|
||||
new file mode 120000
|
||||
index 0000000..d46777b
|
||||
--- /dev/null
|
||||
+++ b/runners/org.osbuild.fedora38
|
||||
@@ -0,0 +1 @@
|
||||
+org.osbuild.fedora30
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.37.2
|
||||
|
||||
40
PR1827.patch
Normal file
40
PR1827.patch
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
From 54c0a2cce45ad385d793d494e62222cd254a866a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= <thozza@redhat.com>
|
||||
Date: Wed, 31 Jul 2024 18:12:24 +0200
|
||||
Subject: [PATCH] Test/dnf4.mark: adjust the test for markings used by DNF5
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When I rolled back from using 'dnf4', to check package markings, to
|
||||
using 'dnf', I didn't verify the test case on Fedora Rawhide with DNF5.
|
||||
It turns out that the strings reported by DNF5 differ and make the test
|
||||
case fail. This time I tested the change on Fedora Rawhide with DNF5 and
|
||||
it works.
|
||||
|
||||
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
|
||||
---
|
||||
test/run/test_stages.py | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/test/run/test_stages.py b/test/run/test_stages.py
|
||||
index dc91bf8f..7fec10c8 100644
|
||||
--- a/test/run/test_stages.py
|
||||
+++ b/test/run/test_stages.py
|
||||
@@ -565,9 +565,11 @@ class TestStages(test.TestBase):
|
||||
raise
|
||||
|
||||
if package == "dnf":
|
||||
- assert mark == "user"
|
||||
+ # dnf4 marks packages as 'user', while dnf5 marks them as 'User'
|
||||
+ assert mark in ("user", "User")
|
||||
else:
|
||||
- assert mark == "unknown"
|
||||
+ # dnf4 marks packages as 'unknown', while dnf5 marks them as 'External User'
|
||||
+ assert mark in ("unknown", "External User")
|
||||
|
||||
@unittest.skipUnless(test.TestBase.has_filesystem_support("btrfs"), "btrfs needed")
|
||||
def test_btrfs(self):
|
||||
--
|
||||
2.45.2
|
||||
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
This repository is maintained by packit.
|
||||
https://packit.dev/
|
||||
The file was generated using packit 0.96.0.
|
||||
The file was generated using packit 1.14.0.post1.dev2+g6506c7467.
|
||||
|
|
|
|||
2608
osbuild.spec
2608
osbuild.spec
File diff suppressed because it is too large
Load diff
10
plans/integration-tests.fmf
Normal file
10
plans/integration-tests.fmf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
summary: Run osbuild integration tests
|
||||
prepare:
|
||||
how: install
|
||||
package:
|
||||
- osbuild
|
||||
discover:
|
||||
how: fmf
|
||||
filter: tag:integration-test
|
||||
execute:
|
||||
how: tmt
|
||||
13
plans/unit-tests.fmf
Normal file
13
plans/unit-tests.fmf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
summary: Run osbuild unit tests from dist-git sources
|
||||
prepare:
|
||||
how: install
|
||||
package:
|
||||
- git
|
||||
- make
|
||||
- osbuild
|
||||
discover:
|
||||
how: fmf
|
||||
dist-git-source: true
|
||||
filter: tag:unit-test
|
||||
execute:
|
||||
how: tmt
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (osbuild-118.tar.gz) = 8004fead5783fe7e9ed468fe4a7eaebd7df4368f83d44374eba5dbaf71d711dddfb52ba43c49f98414b679c5513a2585e0b3c5bcd686c3a856867e6a8322a20f
|
||||
SHA512 (osbuild-169.tar.gz) = 981b6dae05d0f1fe0475549b5c72c2adafb656a7b9f3dbdf64fe660fe0852166bf327f654192f7f83583e2d559590b98dac8aba226e8203c3a0af274d51b33cf
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
52
tests/image-build/build-images.sh
Executable file
52
tests/image-build/build-images.sh
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/bash
|
||||
set -euxo pipefail
|
||||
|
||||
MANIFESTS_DIR=$1
|
||||
# check that MANIFESTS_DIR is a directory
|
||||
if [ ! -d "$MANIFESTS_DIR" ]; then
|
||||
echo "Error: $MANIFESTS_DIR is not a directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ensure that we are running on x86_64 architecture
|
||||
if [ "$(uname -m)" != "x86_64" ]; then
|
||||
echo "Error: this script is only supported on x86_64 architecture"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. /etc/os-release
|
||||
|
||||
case "${ID}-${VERSION_ID}" in
|
||||
fedora-*)
|
||||
IMAGE_MANIFEST="${MANIFESTS_DIR}/fedora.json"
|
||||
;;
|
||||
rhel-8.*)
|
||||
IMAGE_MANIFEST="${MANIFESTS_DIR}/rhel-8.json"
|
||||
;;
|
||||
rhel-9.*)
|
||||
IMAGE_MANIFEST="${MANIFESTS_DIR}/rhel-9.json"
|
||||
;;
|
||||
centos-8)
|
||||
IMAGE_MANIFEST="${MANIFESTS_DIR}/centos-8.json"
|
||||
;;
|
||||
centos-9)
|
||||
IMAGE_MANIFEST="${MANIFESTS_DIR}/centos-9.json"
|
||||
;;
|
||||
centos-10)
|
||||
IMAGE_MANIFEST="${MANIFESTS_DIR}/centos-10.json"
|
||||
;;
|
||||
*)
|
||||
echo "Error: unsupported OS: ${ID}-${VERSION_ID}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
OUTPUT_DIR=/var/tmp/osbuild-output
|
||||
STORE_DIR=/var/tmp/osbuild-store
|
||||
sudo mkdir -p "${OUTPUT_DIR}"
|
||||
sudo mkdir -p "${STORE_DIR}"
|
||||
|
||||
# all the images are built with qcow2 format, so export it
|
||||
EXPORT_PIPELINE="qcow2"
|
||||
|
||||
sudo osbuild --output-directory "${OUTPUT_DIR}" --store "${STORE_DIR}" --export "${EXPORT_PIPELINE}" "${IMAGE_MANIFEST}"
|
||||
4
tests/image-build/main.fmf
Normal file
4
tests/image-build/main.fmf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
summary: Build simple image using osbuild
|
||||
tag: integration-test
|
||||
duration: 1h
|
||||
test: ./build-images.sh ./manifests
|
||||
3518
tests/image-build/manifests/centos-10.json
Normal file
3518
tests/image-build/manifests/centos-10.json
Normal file
File diff suppressed because it is too large
Load diff
7202
tests/image-build/manifests/centos-8.json
Normal file
7202
tests/image-build/manifests/centos-8.json
Normal file
File diff suppressed because it is too large
Load diff
6799
tests/image-build/manifests/centos-9.json
Normal file
6799
tests/image-build/manifests/centos-9.json
Normal file
File diff suppressed because it is too large
Load diff
7073
tests/image-build/manifests/fedora.json
Normal file
7073
tests/image-build/manifests/fedora.json
Normal file
File diff suppressed because it is too large
Load diff
4083
tests/image-build/manifests/rhel-8.json
Normal file
4083
tests/image-build/manifests/rhel-8.json
Normal file
File diff suppressed because it is too large
Load diff
7021
tests/image-build/manifests/rhel-9.json
Normal file
7021
tests/image-build/manifests/rhel-9.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,25 +0,0 @@
|
|||
---
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-source
|
||||
tags:
|
||||
- always
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
required_packages:
|
||||
- osbuild
|
||||
- git
|
||||
- make
|
||||
- python3-mako
|
||||
- python3-pytest
|
||||
tests:
|
||||
- smoke:
|
||||
dir: smoke
|
||||
run: osbuild --help
|
||||
- unit:
|
||||
dir: source
|
||||
run: python3 -m pytest test/mod
|
||||
- image:
|
||||
dir: tests
|
||||
run: osbuild fedora-boot.json --store=/var/tmp/osbuild/store --output-directory=/var/tmp/osbuild/out
|
||||
4
tests/unit-tests/main.fmf
Normal file
4
tests/unit-tests/main.fmf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
summary: Run osbuild unit tests from dist-git sources
|
||||
tag: unit-test
|
||||
duration: 4h
|
||||
test: ./prep-host-environment.sh; sudo chcon $(matchpathcon -n /usr/bin/osbuild) ./run-unit-tests.sh; ./run-unit-tests.sh
|
||||
35
tests/unit-tests/prep-host-environment.sh
Executable file
35
tests/unit-tests/prep-host-environment.sh
Executable file
|
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/bash
|
||||
# Prepare the host environment for running the osbuild unit tests.
|
||||
# This includes installing missing dependencies and tools.
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
source /etc/os-release
|
||||
|
||||
# Move to the checked out git repo with the test plans
|
||||
# this should be the root of the dist-git repo
|
||||
cd "${TMT_TREE}"
|
||||
|
||||
# install all test dependencies
|
||||
sudo dnf install -y \
|
||||
rpmdevtools \
|
||||
python3-mako \
|
||||
python3-pip \
|
||||
rpm-ostree \
|
||||
dosfstools \
|
||||
gdisk \
|
||||
python3-tomli-w
|
||||
sudo dnf builddep -y osbuild.spec
|
||||
|
||||
# Install pytst from pip, because the version in some RHEL / CentOS releases is too old
|
||||
sudo pip3 install pytest
|
||||
|
||||
# Make sure that /usr/lib/systemd/boot/efi/linuxx64.efi.stub is available to enable pe32p tests
|
||||
case "${ID}-${VERSION_ID}" in
|
||||
rhel-8.* | centos-8)
|
||||
sudo dnf install -y systemd-udev
|
||||
;;
|
||||
*)
|
||||
sudo dnf install -y systemd-boot-unsigned
|
||||
;;
|
||||
esac
|
||||
55
tests/unit-tests/run-unit-tests.sh
Executable file
55
tests/unit-tests/run-unit-tests.sh
Executable file
|
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/bash
|
||||
# Execute osbuild unit tests from a checked out dist-git repo
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
source /etc/os-release
|
||||
|
||||
# The 'test/run/test_assemblers.py::test_tar' test case uses system tar to extract the built tar archive.
|
||||
# However, files in the tar archive can have SELinux context not present in the system policy. Therefore,
|
||||
# in order for the system tar to be able to set it when extracting the archive, it must be labeled with
|
||||
# 'install_exec_t' type.
|
||||
|
||||
ORIGINAL_TAR_CONTEXT="$(matchpathcon -n "$(which tar)")"
|
||||
sudo chcon "system_u:object_r:install_exec_t:s0" "$(which tar)"
|
||||
function restore_tar_context() {
|
||||
sudo chcon "${ORIGINAL_TAR_CONTEXT}" "$(which tar)"
|
||||
}
|
||||
trap restore_tar_context EXIT
|
||||
|
||||
# Run the unit tests
|
||||
# Note:
|
||||
# - Ignore the boot test, because it requires qemu-system-x86_64 not available on all distributions.
|
||||
# - Ignore source code tests, which run linters, since we can't ensure that all linters are available
|
||||
# and of the same version as in upstream.
|
||||
# - Explicitly mark btrfs as unsupported on CentOS / RHEL
|
||||
|
||||
if [ "${ID}" == "centos" ] || [ "${ID}" == "rhel" ]; then
|
||||
UNSUPPORTED_FS="--unsupported-fs btrfs"
|
||||
fi
|
||||
|
||||
TEST_SELECTION_EXPR="not (TestBoot and boot)"
|
||||
|
||||
# disable some tests on RHEL-8
|
||||
if ([ "${ID}" == "rhel" ] || [ "${ID}" == "centos" ]) && [ "${VERSION_ID%%.*}" == "8" ]; then
|
||||
# qemu-img info in RHEL-8 produces "raw" as the image format for "vdi" images, which causes tests to fail. Skip it.
|
||||
TEST_SELECTION_EXPR="${TEST_SELECTION_EXPR} and not (test_qemu[ext4-vdi] or test_qemu[xfs-vdi])"
|
||||
TEST_SELECTION_EXPR="${TEST_SELECTION_EXPR} and not (TestStages and test_qemu)"
|
||||
fi
|
||||
|
||||
# Move to the directory with sources
|
||||
cd "${TMT_SOURCE_DIR}"
|
||||
|
||||
# Extract the Source0 basename without extension
|
||||
SRC_DIR=$(spectool --source 0 osbuild.spec | sed 's/.\+\(osbuild-[0-9]\+\)\.tar\.gz/\1/')
|
||||
|
||||
# Move to the extracted sources directory (patches are applied by default)
|
||||
cd "${SRC_DIR}"
|
||||
|
||||
sudo python3 -m pytest \
|
||||
--rootdir "$(pwd)" \
|
||||
--ignore "$(pwd)/test/src" \
|
||||
${UNSUPPORTED_FS:-} \
|
||||
-k "${TEST_SELECTION_EXPR}" \
|
||||
-v \
|
||||
"$(pwd)/test/"
|
||||
Loading…
Add table
Add a link
Reference in a new issue