Compare commits

...
Sign in to create a new pull request.

40 commits

Author SHA1 Message Date
Packit
c7e81af30c Update to 135 upstream release
Upstream tag: v135
Upstream commit: 32b1b915

Commit authored by Packit automation (https://packit.dev/)
2024-11-22 21:01:48 +00:00
Packit
1a2de8d506 Update to 134 upstream release
Upstream tag: v134
Upstream commit: a8e8ebde

Commit authored by Packit automation (https://packit.dev/)
2024-11-20 08:33:22 +00:00
Packit
02f8677543 Update to 133 upstream release
Upstream tag: v133
Upstream commit: ef24311f

Commit authored by Packit automation (https://packit.dev/)
2024-11-06 08:30:17 +00:00
Packit
6b52413d65 Update to 132 upstream release
Upstream tag: v132
Upstream commit: f9873e49

Commit authored by Packit automation (https://packit.dev/)
2024-10-23 08:30:09 +00:00
Packit
9319e2af85 Update to 131 upstream release
Upstream tag: v131
Upstream commit: e5e3aad7

Commit authored by Packit automation (https://packit.dev/)
2024-10-09 08:28:40 +00:00
Tomáš Hozza
cebefe1b7d
Test/unit-tests: install python3-tomli-w
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-09-18 17:11:25 +02:00
Packit
5939cebea6 Update to 129 upstream release
Upstream tag: v129
Upstream commit: 3df75de6

Commit authored by Packit automation (https://packit.dev/)
2024-09-18 11:34:31 +00:00
Packit
1eda7e0e0a Update to 126 upstream release
Upstream tag: v126
Upstream commit: 69625505

Commit authored by Packit automation (https://packit.dev/)
2024-08-21 17:09:06 +00:00
Packit
b6186add53 Update to 125 upstream release
Upstream tag: v125
Upstream commit: 88c35ea3

Commit authored by Packit automation (https://packit.dev/)
2024-08-14 08:28:11 +00:00
Packit
f36ce6ed85 Update to 124 upstream release
Upstream tag: v124
Upstream commit: 46db834d

Commit authored by Packit automation (https://packit.dev/)
2024-07-31 08:16:05 +00:00
Packit
789da663e1
Update to 123 upstream release
Upstream tag: v123
Upstream commit: 33fda9ba

Commit authored by Packit automation (https://packit.dev/)
2024-07-25 14:49:16 +02:00
Tomáš Hozza
043debb9d5
Backport upstream fix for a unit test
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-07-25 11:17:01 +02:00
Tomáš Hozza
3c79d3969a
Migrate to TMT tests used in CentOS Stream
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-07-25 11:17:01 +02:00
Tomáš Hozza
8b0e9b195b
Remove unused patches
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-07-25 11:17:01 +02:00
Packit
3bed7b0cac
Update to 122 upstream release
Upstream tag: v122
Upstream commit: 2e5a9335

Commit authored by Packit automation (https://packit.dev/)
2024-07-25 11:17:01 +02:00
Packit
5ef97758e6 Update to 119 upstream release
Upstream tag: v119
Upstream commit: 4dbf8e2d

Commit authored by Packit automation (https://packit.dev/)
2024-05-22 08:17:55 +00:00
Packit
0a1b8ee906 Update to 118 upstream release
Upstream tag: v118
Upstream commit: 86f3459e

Commit authored by Packit automation (https://packit.dev/)
2024-05-08 08:14:38 +00:00
Packit
4dcac508a3 Update to 117 upstream release
Upstream tag: v117
Upstream commit: 1f0f18d2

Commit authored by Packit automation (https://packit.dev/)
2024-04-24 08:19:30 +00:00
Packit
e6ff2e09bc Update to 116 upstream release
Upstream tag: v116
Upstream commit: f892351b

Commit authored by Packit automation (https://packit.dev/)
2024-04-15 09:10:13 +00:00
Packit
2d0554a4ff Update to 115 upstream release
Upstream tag: v115
Upstream commit: 6549bf19

Commit authored by Packit automation (https://packit.dev/)
2024-04-10 08:17:54 +00:00
Packit
070472b95c [packit] 114 upstream release
Upstream tag: v114
Upstream commit: 7e0e30fd
2024-03-29 12:35:29 +00:00
Packit
2b965ecfea [packit] 113 upstream release
Upstream tag: v113
Upstream commit: ec496769
2024-03-27 08:18:45 +00:00
Packit
9e04012a7d [packit] 112 upstream release
Upstream tag: v112
Upstream commit: dd575465
2024-03-13 08:17:13 +00:00
Packit
ee0ac6e91f [packit] 111 upstream release
Upstream tag: v111
Upstream commit: 7709b7ca
2024-02-28 08:16:15 +00:00
Packit
eb125edbe3 [packit] 110 upstream release
Upstream tag: v110
Upstream commit: 0b7dcf3c
2024-02-26 15:45:41 +00:00
Packit
e09c20cf57 [packit] 109 upstream release
Upstream tag: v109
Upstream commit: 32297469
2024-02-22 11:53:47 +00:00
Packit
63f1890b19 [packit] 108 upstream release
Upstream tag: v108
Upstream commit: c3af3173
2024-02-14 08:14:20 +00:00
Packit
4a4ce0fa1c [packit] 106 upstream release
Upstream tag: v106
Upstream commit: 2581160c
2024-01-31 17:49:24 +00:00
Packit
198b573659 [packit] 105 upstream release
Upstream tag: v105
Upstream commit: f9b55ff6
2024-01-31 08:14:27 +00:00
Packit
ef136d1f71 [packit] 104 upstream release
Upstream tag: v104
Upstream commit: e0bbb339
2024-01-16 13:52:04 +00:00
Packit
797add905c [packit] 103 upstream release
Upstream tag: v103
Upstream commit: 8c95bd9d
2024-01-03 08:14:30 +00:00
Packit
01d2544218 [packit] 102 upstream release
Upstream tag: v102
Upstream commit: 5fc3b565
2023-12-20 08:13:49 +00:00
Packit
b7f403b2f0 [packit] 101 upstream release
Upstream tag: v101
Upstream commit: 55a007a8
2023-12-06 08:17:31 +00:00
Packit
2314b38073 [packit] 100 upstream release
Upstream tag: v100
Upstream commit: 9cece6b4
2023-11-22 08:17:12 +00:00
Packit
9d31b1aa5e [packit] 99 upstream release
Upstream tag: v99
Upstream commit: 0edbe0cf
2023-11-08 08:15:38 +00:00
Packit
3bcd569899 [packit] 98 upstream release
Upstream tag: v98
Upstream commit: 41652343
2023-10-25 08:17:36 +00:00
Packit
299dde4e93 [packit] 97 upstream release
Upstream tag: v97
Upstream commit: 3cc733d7
2023-10-11 08:15:11 +00:00
Packit
e092427d00 [packit] 96 upstream release
Upstream tag: v96
Upstream commit: e48360e0
2023-09-27 08:14:58 +00:00
Packit
960c2b1e69 [packit] 95 upstream release
Upstream tag: v95
Upstream commit: 66b1da02
2023-09-13 08:18:33 +00:00
Packit
250ba4ff3b [packit] 92 upstream release
Upstream tag: v92
Upstream commit: e8bd5e9c

If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork):
```
git fetch https://src.fedoraproject.org/forks/packit/rpms/osbuild.git refs/heads/*:refs/remotes/packit/*
git checkout packit/92-f39-update-propose_downstream
```
2023-08-16 08:19:10 +00:00
25 changed files with 36953 additions and 1186 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

36
.gitignore vendored
View file

@ -89,3 +89,39 @@
/osbuild-89.tar.gz
/osbuild-90.tar.gz
/osbuild-91.tar.gz
/osbuild-92.tar.gz
/osbuild-95.tar.gz
/osbuild-96.tar.gz
/osbuild-97.tar.gz
/osbuild-98.tar.gz
/osbuild-99.tar.gz
/osbuild-100.tar.gz
/osbuild-101.tar.gz
/osbuild-102.tar.gz
/osbuild-103.tar.gz
/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
/osbuild-112.tar.gz
/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-131.tar.gz
/osbuild-132.tar.gz
/osbuild-133.tar.gz
/osbuild-134.tar.gz
/osbuild-135.tar.gz

View file

@ -17,15 +17,23 @@ srpm_build_deps: []
actions:
get-current-version: bash -c "git describe --tags --abbrev=0 | sed 's|v||'"
# Handle only releases without a "dot" (e.g. v88.2), since "dot" releases should never be released to Fedora
# "dot" releases are used only for "backports" to RHEL.
upstream_tag_include: 'v\d+'
jobs:
- &copr
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
@ -39,6 +47,11 @@ jobs:
branch: main
owner: "@osbuild" # copr repo namespace
project: osbuild # copr repo name so you can consume the builds
- <<: *copr
trigger: release
branch: main
owner: "@osbuild" # copr repo namespace
project: osbuild-stable # copr repo name so you can consume the builds
- job: propose_downstream
trigger: release
dist_git_branches:

View file

@ -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)

View file

@ -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

44
PR1824.patch Normal file
View file

@ -0,0 +1,44 @@
From 2a69d10da676d067bf42b936114d3785fd1c37da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= <thozza@redhat.com>
Date: Thu, 25 Jul 2024 10:27:44 +0200
Subject: [PATCH] Test: fix dnf4.mark stage test with DNF5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
DNF5 contains a breaking change in the repoquery --qf output,
specifically it does not include the trailing newline. This breaks the
test case e.g. on the latest Fedora Rawhide [1].
As a fix, explicitly use 'dnf4' for now, until the inconsistency is
fixed in the upstream [2].
[1] https://artifacts.dev.testing-farm.io/3a3a2898-0a6a-42eb-8792-660f03c35c3c/
[2] https://github.com/rpm-software-management/dnf5/issues/709
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
---
test/run/test_stages.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/test/run/test_stages.py b/test/run/test_stages.py
index a4d78b7e..ca224f07 100644
--- a/test/run/test_stages.py
+++ b/test/run/test_stages.py
@@ -537,9 +537,12 @@ class TestStages(test.TestBase):
assert os.path.isdir(tree)
# we're going to verify that packages in the tree are marked according to
+ # Explicitly use 'dnf4' for now, because 'dnf5' contains a breaking change
+ # in the repoquery --qf output, specifically it does not add a trailing newline.
+ # We can use plan 'dnf' again once https://github.com/rpm-software-management/dnf5/issues/709 is fixed.
r = subprocess.run(
[
- "dnf",
+ "dnf4",
"--installroot", tree,
"repoquery", "--installed",
"--qf", "%{name},%{reason}"
--
2.45.2

View file

@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.78.1.post5+g4b99855.
The file was generated using packit 0.104.0.

BIN
osbuild-94.tar.gz Normal file

Binary file not shown.

File diff suppressed because it is too large Load diff

View 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
View 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

View file

@ -1 +1 @@
SHA512 (osbuild-91.tar.gz) = 8a608aaad25033478d86ef7b3935c9bcbbb18d2a60eb074b5140fdb1bbcbd4b0c90605ebe5740c0c52c54a33d913b1747fab6533ab6e085ec81e773aa9bd7ee8
SHA512 (osbuild-135.tar.gz) = b95ed7b75756845ec1baaecbd7340edee78147daec7985d706f1cb690ef23b5feeef2b172c954bf4136eccab223ee5422f32da401f25f7ef699535a0aa6932df

File diff suppressed because it is too large Load diff

View 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}"

View file

@ -0,0 +1,4 @@
summary: Build simple image using osbuild
tag: integration-test
duration: 1h
test: ./build-images.sh ./manifests

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -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

View 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

View 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

View 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/"