Compare commits
26 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2aa2cff895 | ||
|
|
d585940380 | ||
|
|
e3f9e45f3e | ||
|
|
4d520c1c49 | ||
|
|
3304811711 | ||
|
|
ea4d881b06 |
||
|
|
edab7eeacf | ||
|
|
fdd99b4c60 | ||
|
|
913a841ae8 | ||
|
|
236fea096d | ||
|
|
3199a0be39 | ||
|
|
06939abd4c | ||
|
|
9753e24c71 | ||
|
|
362c8e23cd | ||
|
|
0a2e848a83 | ||
|
|
1833ea2069 | ||
|
|
89c3a60068 | ||
|
|
6e0e37a220 | ||
|
|
5ce4decf15 | ||
|
|
0d29cf8eef | ||
|
|
c7b16f9cb3 | ||
|
|
1f5cc54537 | ||
|
|
16a5124d84 | ||
|
|
18f1a34c55 | ||
|
|
c68d1acd0f | ||
|
|
174385a44f |
22 changed files with 1181 additions and 38647 deletions
|
|
@ -1 +0,0 @@
|
|||
1
|
||||
112
.gitignore
vendored
112
.gitignore
vendored
|
|
@ -38,115 +38,3 @@
|
|||
/osbuild-39.tar.gz
|
||||
/osbuild-40.tar.gz
|
||||
/osbuild-41.tar.gz
|
||||
/osbuild-42.tar.gz
|
||||
/osbuild-43.tar.gz
|
||||
/osbuild-44.tar.gz
|
||||
/osbuild-45.tar.gz
|
||||
/osbuild-46.tar.gz
|
||||
/osbuild-47.tar.gz
|
||||
/osbuild-48.tar.gz
|
||||
/osbuild-49.tar.gz
|
||||
/osbuild-50.tar.gz
|
||||
/osbuild-51.tar.gz
|
||||
/osbuild-52.tar.gz
|
||||
/osbuild-53.tar.gz
|
||||
/osbuild-54.tar.gz
|
||||
/osbuild-55.tar.gz
|
||||
/osbuild-53.1.tar.gz
|
||||
/osbuild-56.tar.gz
|
||||
/osbuild-57.tar.gz
|
||||
/osbuild-58.tar.gz
|
||||
/osbuild-59.tar.gz
|
||||
/osbuild-60.tar.gz
|
||||
/osbuild-61.tar.gz
|
||||
/osbuild-62.tar.gz
|
||||
/osbuild-63.tar.gz
|
||||
/osbuild-64.tar.gz
|
||||
/osbuild-65.tar.gz
|
||||
/osbuild-66.tar.gz
|
||||
/osbuild-67.tar.gz
|
||||
/osbuild-68.tar.gz
|
||||
/osbuild-69.tar.gz
|
||||
/osbuild-70.tar.gz
|
||||
/osbuild-71.tar.gz
|
||||
/osbuild-72.tar.gz
|
||||
/osbuild-73.tar.gz
|
||||
/osbuild-74.tar.gz
|
||||
/osbuild-75.tar.gz
|
||||
/osbuild-76.tar.gz
|
||||
/osbuild-77.tar.gz
|
||||
/osbuild-78.tar.gz
|
||||
/osbuild-79.tar.gz
|
||||
/osbuild-80.tar.gz
|
||||
/osbuild-81.tar.gz
|
||||
/osbuild-82.tar.gz
|
||||
/osbuild-83.tar.gz
|
||||
/osbuild-84.tar.gz
|
||||
/osbuild-85.tar.gz
|
||||
/osbuild-86.tar.gz
|
||||
/osbuild-87.tar.gz
|
||||
/osbuild-88.tar.gz
|
||||
/osbuild-89.tar.gz
|
||||
/osbuild-90.tar.gz
|
||||
/osbuild-91.tar.gz
|
||||
/osbuild-92.tar.gz
|
||||
/osbuild-93.tar.gz
|
||||
/osbuild-94.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-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-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
|
||||
|
|
|
|||
76
.packit.yaml
76
.packit.yaml
|
|
@ -2,65 +2,49 @@
|
|||
|
||||
specfile_path: osbuild.spec
|
||||
|
||||
files_to_sync:
|
||||
synced_files:
|
||||
- osbuild.spec
|
||||
- .packit.yaml
|
||||
|
||||
upstream_package_name: osbuild
|
||||
downstream_package_name: osbuild
|
||||
|
||||
copy_upstream_release_description: true
|
||||
|
||||
upstream_tag_template: v{version}
|
||||
|
||||
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+'
|
||||
|
||||
create_pr: false
|
||||
jobs:
|
||||
- &copr
|
||||
job: copr_build
|
||||
- job: copr_build
|
||||
trigger: pull_request
|
||||
targets:
|
||||
- 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
|
||||
- epel-9-x86_64
|
||||
- fedora-all-aarch64
|
||||
- fedora-all-s390x
|
||||
- fedora-all-ppc64le
|
||||
- fedora-all
|
||||
- <<: *copr
|
||||
metadata:
|
||||
targets:
|
||||
- centos-stream-8-aarch64
|
||||
- centos-stream-8-x86_64
|
||||
- epel-8-aarch64
|
||||
- epel-8-x86_64
|
||||
- fedora-all-aarch64
|
||||
- fedora-all-s390x
|
||||
- fedora-all-ppc64le
|
||||
- fedora-all
|
||||
- job: copr_build
|
||||
trigger: commit
|
||||
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
|
||||
metadata:
|
||||
branch: main
|
||||
owner: "@osbuild" # copr repo namespace
|
||||
project: osbuild # copr repo name so you can consume the builds
|
||||
targets:
|
||||
- centos-stream-8-aarch64
|
||||
- centos-stream-8-x86_64
|
||||
- epel-8-aarch64
|
||||
- epel-8-x86_64
|
||||
- fedora-all-aarch64
|
||||
- fedora-all-s390x
|
||||
- fedora-all-ppc64le
|
||||
- fedora-all
|
||||
- job: propose_downstream
|
||||
trigger: release
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- job: koji_build
|
||||
trigger: commit
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
- job: bodhi_update
|
||||
trigger: commit
|
||||
dist_git_branches:
|
||||
- fedora-branched # rawhide updates are created automatically
|
||||
metadata:
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
40
PR1827.patch
40
PR1827.patch
|
|
@ -1,40 +0,0 @@
|
|||
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 1.14.0.post1.dev2+g6506c7467.
|
||||
The file was generated using packit 0.40.1.dev8+g3197820.
|
||||
|
|
|
|||
2588
osbuild.spec
2588
osbuild.spec
File diff suppressed because it is too large
Load diff
|
|
@ -1,10 +0,0 @@
|
|||
summary: Run osbuild integration tests
|
||||
prepare:
|
||||
how: install
|
||||
package:
|
||||
- osbuild
|
||||
discover:
|
||||
how: fmf
|
||||
filter: tag:integration-test
|
||||
execute:
|
||||
how: tmt
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
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-169.tar.gz) = 981b6dae05d0f1fe0475549b5c72c2adafb656a7b9f3dbdf64fe660fe0852166bf327f654192f7f83583e2d559590b98dac8aba226e8203c3a0af274d51b33cf
|
||||
SHA512 (osbuild-41.tar.gz) = 415c5d9c5bb9b60459c917f283b54e5d19dd8d9fb59d1a9364c55ae953ce888e15d3bc9ca008a1cbdb7e804fe2bf1c2aecf920c4b0c7cf3c18d4430a9eba4096
|
||||
|
|
|
|||
1113
tests/fedora-boot.json
Normal file
1113
tests/fedora-boot.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,52 +0,0 @@
|
|||
#!/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}"
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
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
25
tests/tests.yml
Normal file
25
tests/tests.yml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
- 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
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
#!/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
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
#!/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