Compare commits

..

26 commits

Author SHA1 Message Date
Packit Service
2aa2cff895 [packit] 41 upstream release
Upstream tag: v41
Upstream commit: f7bf23fa

Signed-off-by: Packit Service <user-cont-team+packit-service@redhat.com>
2021-11-08 20:40:58 +00:00
Packit Service
d585940380 [packit] 40 upstream release
Upstream tag: v40
Upstream commit: bd4ab1d3

Signed-off-by: Packit Service <user-cont-team+packit-service@redhat.com>
2021-11-03 15:28:48 +00:00
Packit Service
e3f9e45f3e [packit] 39 upstream release
Upstream tag: v39
Upstream commit: 00125e9f

Signed-off-by: Packit Service <user-cont-team+packit-service@redhat.com>
2021-10-06 12:36:56 +00:00
Packit Service
4d520c1c49 [packit] 38 upstream release
Upstream tag: v38
Upstream commit: 3678f3a4

Signed-off-by: Packit Service <user-cont-team+packit-service@redhat.com>
2021-09-27 06:54:35 +00:00
Packit Service
3304811711 [packit] 37 upstream release
Upstream tag: v37
Upstream commit: 7be47515

Signed-off-by: Packit Service <user-cont-team+packit-service@redhat.com>
2021-09-22 13:17:38 +00:00
Ondřej Budai
ea4d881b06
Update to 36 2021-09-09 12:38:10 +02:00
Martin Sehnoutka
edab7eeacf Update to 31 2021-08-20 15:41:55 +02:00
Christian Kellner
fdd99b4c60 30 upstream release
Upstream tag: v30
Upstream commit: 35de3093

Signed-off-by: Christian Kellner <christian@kellner.me>
2021-07-23 15:14:43 +00:00
Christian Kellner
913a841ae8 tests: pin down test manifest
To avoid cross-host building, i.e. building a new Fedora on an
older Fedora host, we pin down the test manifest.
2021-07-23 15:13:47 +00:00
Christian Kellner
236fea096d tests: add subset of the unit tests
Run the module unit tests.
2021-07-23 15:11:48 +00:00
Christian Kellner
3199a0be39 tests: update list of required packages 2021-07-23 15:11:48 +00:00
Christian Kellner
06939abd4c tests: remove atomic tag
No needed anymore.
2021-07-23 15:11:48 +00:00
Christian Kellner
9753e24c71 spec: fix author name and email
Replace msehnout with the name and email.
2021-07-23 15:11:48 +00:00
Martin Sehnoutka
362c8e23cd 29 upstream release 2021-06-21 12:34:02 +02:00
Christian Kellner
0a2e848a83 28 upstream release
New upstream release with fixes for the oci stage and official
support for the Fedora 35 runner.
2021-04-08 21:33:44 +02:00
Christian Kellner
1833ea2069 Include patch to add Fedora 35 runner
Needed to actually run on rawhide (fedora 35).
2021-03-17 14:03:35 +01:00
Christian Kellner
89c3a60068 ci: fix and update image test
Use an up-to-date manifest from the upstream osbuild CI test data
and also specify an output directory, so that osbuild is actually
attempting to produce an image.
2021-03-17 14:03:12 +01:00
Christian Kellner
6e0e37a220 27 upstream release
Various bug fixes related to the new container and installer stages
introdcued in version 25 and 26.
2021-03-17 14:02:28 +01:00
Christian Kellner
5ce4decf15 26 upstream release
Support for building boot isos.
Grub stage gained support for 'saved_entry' to fix grub tooling.
2021-02-20 16:47:33 +01:00
Christian Kellner
0d29cf8eef gating: actually make an image in the 'image' test
As of some versions ago, osbuild, when neither --output-directory
nor --checkpoints are given, does not actually build anything.
This is obviously not what we want. We want images. So do specify
an output directory.
2021-02-20 16:45:06 +01:00
Christian Kellner
c7b16f9cb3 25 upstream release
New upstream release, with a tech preview of the new manifest
format and new assembler-like stages that are needed to deliver
ostree commits contained in an oci archive.
2021-02-13 18:30:34 +01:00
Christian Kellner
1f5cc54537 24 upstream release
Only disable dependency generator for runners but not other modules.
Include new `Input` binaries.
2021-01-28 06:14:02 +01:00
Christian Kellner
16a5124d84 23 upstream release
Do not mangle shebangs for assemblers, runners & stages.
2020-11-02 10:04:35 +01:00
Christian Kellner
18f1a34c55 22 upstream release
no spec file changes.
2020-10-12 15:47:34 +02:00
Christian Kellner
c68d1acd0f 21 upstream release 2020-09-10 15:10:29 +02:00
Christian Kellner
174385a44f 20 upstream release 2020-08-13 19:24:04 +02:00
22 changed files with 1181 additions and 38647 deletions

View file

@ -1 +0,0 @@
1

112
.gitignore vendored
View file

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

View file

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

View file

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

View file

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

File diff suppressed because it is too large Load diff

View file

@ -1,10 +0,0 @@
summary: Run osbuild integration tests
prepare:
how: install
package:
- osbuild
discover:
how: fmf
filter: tag:integration-test
execute:
how: tmt

View file

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

View file

@ -1 +1 @@
SHA512 (osbuild-169.tar.gz) = 981b6dae05d0f1fe0475549b5c72c2adafb656a7b9f3dbdf64fe660fe0852166bf327f654192f7f83583e2d559590b98dac8aba226e8203c3a0af274d51b33cf
SHA512 (osbuild-41.tar.gz) = 415c5d9c5bb9b60459c917f283b54e5d19dd8d9fb59d1a9364c55ae953ce888e15d3bc9ca008a1cbdb7e804fe2bf1c2aecf920c4b0c7cf3c18d4430a9eba4096

1113
tests/fedora-boot.json Normal file

File diff suppressed because it is too large Load diff

View file

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

View file

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

View file

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

View file

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

View file

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