Compare commits
No commits in common. "c9-beta" and "c9s-180" have entirely different histories.
@ -1,2 +0,0 @@
|
|||||||
41a56ab6bb51f99445735cf567ace0e9297fe8bc SOURCES/bootc-1.13.0-vendor.tar.zstd
|
|
||||||
46a80d31f9b5e715e75a5ff7d09a5663d48b0ab0 SOURCES/bootc-1.13.0.tar.zstd
|
|
||||||
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
54
.gitignore
vendored
54
.gitignore
vendored
@ -1,2 +1,52 @@
|
|||||||
SOURCES/bootc-1.13.0-vendor.tar.zstd
|
/bootc-0.1.4.tar.zstd
|
||||||
SOURCES/bootc-1.13.0.tar.zstd
|
/bootc-0.1.4-vendor.tar.zstd
|
||||||
|
/bootc-0.1.5.tar.zstd
|
||||||
|
/bootc-0.1.5-vendor.tar.zstd
|
||||||
|
/bootc-0.1.6-vendor.tar.zstd
|
||||||
|
/bootc-0.1.6.tar.zstd
|
||||||
|
/bootc-0.1.7-vendor.tar.zstd
|
||||||
|
/bootc-0.1.7.tar.zstd
|
||||||
|
/bootc-0.1.8.tar.zstd
|
||||||
|
/bootc-0.1.8-vendor.tar.zstd
|
||||||
|
/bootc-0.1.9.tar.zstd
|
||||||
|
/bootc-0.1.9-vendor.tar.zstd
|
||||||
|
/bootc-0.1.10-vendor.tar.zstd
|
||||||
|
/bootc-0.1.10.tar.zstd
|
||||||
|
/bootc-0.1.11.tar.zstd
|
||||||
|
/bootc-0.1.11-vendor.tar.zstd
|
||||||
|
/bootc-0.1.12.tar.zstd
|
||||||
|
/bootc-0.1.12-vendor.tar.zstd
|
||||||
|
/bootc-0.1.13.tar.zstd
|
||||||
|
/bootc-0.1.13-vendor.tar.zstd
|
||||||
|
/bootc-0.1.14-vendor.tar.zstd
|
||||||
|
/bootc-0.1.14.tar.zstd
|
||||||
|
/bootc-0.1.15.tar.zstd
|
||||||
|
/bootc-0.1.15-vendor.tar.zstd
|
||||||
|
/bootc-0.1.16.tar.zstd
|
||||||
|
/bootc-0.1.16-vendor.tar.zstd
|
||||||
|
/bootc-1.1.0.tar.zstd
|
||||||
|
/bootc-1.1.0-vendor.tar.zstd
|
||||||
|
/bootc-1.1.2.tar.zstd
|
||||||
|
/bootc-1.1.2-vendor.tar.zstd
|
||||||
|
/bootc-1.1.4.tar.zstd
|
||||||
|
/bootc-1.1.4-vendor.tar.zstd
|
||||||
|
/bootc-1.1.5.tar.zstd
|
||||||
|
/bootc-1.1.5-vendor.tar.zstd
|
||||||
|
/bootc-1.1.6-vendor.tar.zstd
|
||||||
|
/bootc-1.1.6.tar.zstd
|
||||||
|
/bootc-1.1.7.tar.zstd
|
||||||
|
/bootc-1.1.7-vendor.tar.zstd
|
||||||
|
/bootc-1.3.0.tar.zstd
|
||||||
|
/bootc-1.3.0-vendor.tar.zstd
|
||||||
|
/bootc-1.4.0.tar.zstd
|
||||||
|
/bootc-1.4.0-vendor.tar.zstd
|
||||||
|
/bootc-1.5.1.tar.zstd
|
||||||
|
/bootc-1.5.1-vendor.tar.zstd
|
||||||
|
/bootc-1.7.0-vendor.tar.zstd
|
||||||
|
/bootc-1.7.0.tar.zstd
|
||||||
|
/bootc-1.7.1-vendor.tar.zstd
|
||||||
|
/bootc-1.7.1.tar.zstd
|
||||||
|
/bootc-1.8.0-vendor.tar.zstd
|
||||||
|
/bootc-1.8.0.tar.zstd
|
||||||
|
/bootc-1.10.0.tar.zstd
|
||||||
|
/bootc-1.10.0-vendor.tar.zstd
|
||||||
|
|||||||
55
Containerfile.packit
Normal file
55
Containerfile.packit
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# Build image for system-reinstall-bootc test
|
||||||
|
|
||||||
|
# Use centos-bootc:stream10 as default
|
||||||
|
FROM quay.io/centos-bootc/centos-bootc:stream10
|
||||||
|
|
||||||
|
WORKDIR /bootc-test
|
||||||
|
|
||||||
|
# Save testing farm run files
|
||||||
|
COPY ARTIFACTS /var/ARTIFACTS
|
||||||
|
# Copy bootc repo
|
||||||
|
COPY test-artifacts /var/share/test-artifacts
|
||||||
|
|
||||||
|
ARG GATING
|
||||||
|
RUN <<EORUN
|
||||||
|
set -xeuo pipefail
|
||||||
|
. /usr/lib/os-release
|
||||||
|
if [[ $ID == "rhel" ]]; then
|
||||||
|
cp rhel.repo /etc/yum.repos.d/
|
||||||
|
fi
|
||||||
|
# OSCI uses /var/lib/tmt/scripts to save tmt-* commands
|
||||||
|
# Fedora CI and Packit use /usr/local/bin
|
||||||
|
if [[ -d scripts ]]; then
|
||||||
|
mkdir -p /var/lib/tmt
|
||||||
|
cp -r scripts /var/lib/tmt/
|
||||||
|
ls -al /var/lib/tmt/scripts
|
||||||
|
else
|
||||||
|
cp -r bin /usr/local
|
||||||
|
ls -al /usr/local/bin
|
||||||
|
fi
|
||||||
|
cp test-artifacts.repo /etc/yum.repos.d/
|
||||||
|
dnf -y update bootc
|
||||||
|
# Required by tmt avc checking after test
|
||||||
|
dnf -y install audit
|
||||||
|
./provision-derived.sh
|
||||||
|
|
||||||
|
# For test-22-logically-bound-install
|
||||||
|
cp -a lbi/usr/. /usr
|
||||||
|
for x in curl.container curl-base.image podman.image; do
|
||||||
|
ln -s /usr/share/containers/systemd/$x /usr/lib/bootc/bound-images.d/$x
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add some testing kargs into our dev builds
|
||||||
|
install -D -t /usr/lib/bootc/kargs.d test-kargs/*
|
||||||
|
# Also copy in some default install configs we use for testing
|
||||||
|
install -D -t /usr/lib/bootc/install/ install-test-configs/*
|
||||||
|
|
||||||
|
# Remove bootc repo, bootc updated already
|
||||||
|
rm -rf /var/share/test-artifacts /etc/yum.repos.d/test-artifacts.repo
|
||||||
|
# Clean up dnf
|
||||||
|
dnf -y clean all
|
||||||
|
rm -rf /var/cache /var/lib/dnf
|
||||||
|
|
||||||
|
# Finally, test our own linting
|
||||||
|
# bootc container lint --fatal-warnings
|
||||||
|
EORUN
|
||||||
@ -1,5 +1,4 @@
|
|||||||
%bcond_without check
|
%bcond_without check
|
||||||
%bcond_with tests
|
|
||||||
%if 0%{?rhel} >= 9 || 0%{?fedora} > 41
|
%if 0%{?rhel} >= 9 || 0%{?fedora} > 41
|
||||||
%bcond_without ostree_ext
|
%bcond_without ostree_ext
|
||||||
%else
|
%else
|
||||||
@ -22,7 +21,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: bootc
|
Name: bootc
|
||||||
Version: 1.13.0
|
Version: 1.10.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Bootable container system
|
Summary: Bootable container system
|
||||||
|
|
||||||
@ -39,6 +38,11 @@ URL: https://github.com/bootc-dev/bootc
|
|||||||
Source0: %{url}/releases/download/v%{version}/bootc-%{version}.tar.zstd
|
Source0: %{url}/releases/download/v%{version}/bootc-%{version}.tar.zstd
|
||||||
Source1: %{url}/releases/download/v%{version}/bootc-%{version}-vendor.tar.zstd
|
Source1: %{url}/releases/download/v%{version}/bootc-%{version}-vendor.tar.zstd
|
||||||
|
|
||||||
|
# Don't remove, downstream patch only
|
||||||
|
# Patch for integration test RHEL 9.x and 10.x support
|
||||||
|
#Patch0: 0000-bootc-inistall-provision.patch
|
||||||
|
#Patch1: 0001-bootc-inistall-provision.patch
|
||||||
|
|
||||||
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
||||||
ExcludeArch: %{ix86}
|
ExcludeArch: %{ix86}
|
||||||
|
|
||||||
@ -85,74 +89,52 @@ Recommends: podman
|
|||||||
%description -n system-reinstall-bootc
|
%description -n system-reinstall-bootc
|
||||||
This package provides a utility to simplify reinstalling the current system to a given bootc image.
|
This package provides a utility to simplify reinstalling the current system to a given bootc image.
|
||||||
|
|
||||||
%if %{with tests}
|
|
||||||
%package tests
|
|
||||||
Summary: Integration tests for bootc
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description tests
|
|
||||||
This package contains the integration test suite for bootc.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%global system_reinstall_bootc_install_podman_path %{_prefix}/lib/system-reinstall-bootc/install-podman
|
%global system_reinstall_bootc_install_podman_path %{_prefix}/lib/system-reinstall-bootc/install-podman
|
||||||
|
|
||||||
%if 0%{?container_build}
|
|
||||||
# Source is already at /src, no subdirectory
|
|
||||||
%global _buildsubdir .
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%if ! 0%{?container_build}
|
|
||||||
%autosetup -p1 -a1
|
%autosetup -p1 -a1
|
||||||
# Default -v vendor config doesn't support non-crates.io deps (i.e. git)
|
# Default -v vendor config doesn't support non-crates.io deps (i.e. git)
|
||||||
cp .cargo/vendor-config.toml .
|
cp .cargo/vendor-config.toml .
|
||||||
%cargo_prep -N
|
%cargo_prep -N
|
||||||
cat vendor-config.toml >> .cargo/config.toml
|
cat vendor-config.toml >> .cargo/config.toml
|
||||||
rm vendor-config.toml
|
rm vendor-config.toml
|
||||||
%else
|
|
||||||
# Container build: source already at _builddir (/src), nothing to extract
|
|
||||||
# RPM's %mkbuilddir creates a subdirectory; symlink it back to the source
|
|
||||||
cd ..
|
|
||||||
rm -rf %{name}-%{version}-build
|
|
||||||
ln -s . %{name}-%{version}-build
|
|
||||||
cd %{name}-%{version}-build
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# Build the main bootc binary
|
||||||
|
%if %new_cargo_macros
|
||||||
|
%cargo_build %{?with_rhsm:-f rhsm}
|
||||||
|
%else
|
||||||
|
%cargo_build %{?with_rhsm:--features rhsm}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Build the system reinstallation CLI binary
|
||||||
|
%global cargo_args -p system-reinstall-bootc
|
||||||
export SYSTEM_REINSTALL_BOOTC_INSTALL_PODMAN_PATH=%{system_reinstall_bootc_install_podman_path}
|
export SYSTEM_REINSTALL_BOOTC_INSTALL_PODMAN_PATH=%{system_reinstall_bootc_install_podman_path}
|
||||||
# Build this first to avoid feature skew
|
%if %new_cargo_macros
|
||||||
|
# In cargo-rpm-macros, the cargo_build macro does flag processing,
|
||||||
|
# so we need to pass '--' to signify that cargo_args is not part
|
||||||
|
# of the macro args
|
||||||
|
%cargo_build -- %cargo_args
|
||||||
|
%else
|
||||||
|
# Older macros from rust-toolset do *not* do flag processing, so
|
||||||
|
# '--' would be passed through to cargo directly, which is not
|
||||||
|
# what we want.
|
||||||
|
%cargo_build %cargo_args
|
||||||
|
%endif
|
||||||
|
|
||||||
make manpages
|
make manpages
|
||||||
|
|
||||||
# Build all binaries
|
|
||||||
%if 0%{?container_build}
|
|
||||||
# Container build: use cargo directly with cached dependencies to avoid RPM macro overhead
|
|
||||||
cargo build -j%{_smp_build_ncpus} --release %{?with_rhsm:--features rhsm} --bins
|
|
||||||
%else
|
|
||||||
# Non-container build: use RPM macros for proper dependency tracking
|
|
||||||
%if %new_cargo_macros
|
|
||||||
%cargo_build %{?with_rhsm:-f rhsm} -- --bins
|
|
||||||
%else
|
|
||||||
%cargo_build %{?with_rhsm:--features rhsm} -- --bins
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if ! 0%{?container_build}
|
|
||||||
%cargo_vendor_manifest
|
%cargo_vendor_manifest
|
||||||
# https://pagure.io/fedora-rust/rust-packaging/issue/33
|
# https://pagure.io/fedora-rust/rust-packaging/issue/33
|
||||||
sed -i -e '/https:\/\//d' cargo-vendor.txt
|
sed -i -e '/https:\/\//d' cargo-vendor.txt
|
||||||
%cargo_license_summary
|
%cargo_license_summary
|
||||||
%{cargo_license} > LICENSE.dependencies
|
%{cargo_license} > LICENSE.dependencies
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
# Pass CARGO_FEATURES explicitly to prevent auto-detection rebuild in install environment
|
%make_install INSTALL="install -p -c"
|
||||||
%make_install INSTALL="install -p -c" CARGO_FEATURES="%{?with_rhsm:rhsm}"
|
|
||||||
%if %{with ostree_ext}
|
%if %{with ostree_ext}
|
||||||
make install-ostree-hooks DESTDIR=%{?buildroot}
|
make install-ostree-hooks DESTDIR=%{?buildroot}
|
||||||
%endif
|
%endif
|
||||||
%if %{with tests}
|
|
||||||
install -D -m 0755 target/release/tests-integration %{buildroot}%{_bindir}/bootc-integration-tests
|
|
||||||
%endif
|
|
||||||
mkdir -p %{buildroot}/%{dirname:%{system_reinstall_bootc_install_podman_path}}
|
mkdir -p %{buildroot}/%{dirname:%{system_reinstall_bootc_install_podman_path}}
|
||||||
cat >%{?buildroot}/%{system_reinstall_bootc_install_podman_path} <<EOF
|
cat >%{?buildroot}/%{system_reinstall_bootc_install_podman_path} <<EOF
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
@ -162,10 +144,7 @@ chmod +x %{?buildroot}/%{system_reinstall_bootc_install_podman_path}
|
|||||||
# generate doc file list excluding directories; workaround for
|
# generate doc file list excluding directories; workaround for
|
||||||
# https://github.com/coreos/rpm-ostree/issues/5420
|
# https://github.com/coreos/rpm-ostree/issues/5420
|
||||||
touch %{?buildroot}/%{_docdir}/bootc/baseimage/base/sysroot/.keepdir
|
touch %{?buildroot}/%{_docdir}/bootc/baseimage/base/sysroot/.keepdir
|
||||||
find %{?buildroot}/%{_docdir} ! -type d -printf '%{_docdir}/%%P\n' | sort > bootcdoclist.txt
|
find %{?buildroot}/%{_docdir} ! -type d -printf '%{_docdir}/%%P\n' > bootcdoclist.txt
|
||||||
|
|
||||||
rm -f %{buildroot}/%{_datadir}/elvish/lib/bootc.elv
|
|
||||||
rm -f %{buildroot}/%{_datadir}/powershell/Modules/Bootc/Bootc.psm1
|
|
||||||
|
|
||||||
%if %{with check}
|
%if %{with check}
|
||||||
%check
|
%check
|
||||||
@ -179,54 +158,23 @@ fi
|
|||||||
%files -f bootcdoclist.txt
|
%files -f bootcdoclist.txt
|
||||||
%license LICENSE-MIT
|
%license LICENSE-MIT
|
||||||
%license LICENSE-APACHE
|
%license LICENSE-APACHE
|
||||||
%if ! 0%{?container_build}
|
|
||||||
%license LICENSE.dependencies
|
%license LICENSE.dependencies
|
||||||
%license cargo-vendor.txt
|
%license cargo-vendor.txt
|
||||||
%endif
|
|
||||||
%doc README.md
|
%doc README.md
|
||||||
%{_bindir}/bootc
|
%{_bindir}/bootc
|
||||||
%{_prefix}/lib/bootc/
|
%{_prefix}/lib/bootc/
|
||||||
%{_prefix}/lib/systemd/system-generators/*
|
%{_prefix}/lib/systemd/system-generators/*
|
||||||
%{_prefix}/lib/dracut/modules.d/51bootc/
|
|
||||||
%if %{with ostree_ext}
|
%if %{with ostree_ext}
|
||||||
%{_prefix}/libexec/libostree/ext/*
|
%{_prefix}/libexec/libostree/ext/*
|
||||||
%endif
|
%endif
|
||||||
%{_unitdir}/*
|
%{_unitdir}/*
|
||||||
%{_mandir}/man*/*bootc*
|
%{_mandir}/man*/*bootc*
|
||||||
%if 0%{?rhel} && 0%{?rhel} <= 9
|
|
||||||
%{_datadir}/bash-completion/completions/bootc
|
|
||||||
%{_datadir}/zsh/site-functions/_bootc
|
|
||||||
%{_datadir}/fish/vendor_completions.d/bootc.fish
|
|
||||||
%else
|
|
||||||
%{bash_completions_dir}/bootc
|
|
||||||
%{zsh_completions_dir}/_bootc
|
|
||||||
%{fish_completions_dir}/bootc.fish
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files -n system-reinstall-bootc
|
%files -n system-reinstall-bootc
|
||||||
%{_bindir}/system-reinstall-bootc
|
%{_bindir}/system-reinstall-bootc
|
||||||
%{system_reinstall_bootc_install_podman_path}
|
%{system_reinstall_bootc_install_podman_path}
|
||||||
|
|
||||||
%if %{with tests}
|
|
||||||
%files tests
|
|
||||||
%{_bindir}/bootc-integration-tests
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Feb 24 2026 Colin Walters <walters@verbum.org> - 1.13.0-1
|
|
||||||
- Update to 1.13.0
|
|
||||||
- https://github.com/bootc-dev/bootc/releases/tag/v1.13.0
|
|
||||||
- Resolves: RHEL-151443
|
|
||||||
|
|
||||||
* Fri Jan 17 2026 Colin Walters <walters@verbum.org> - 1.12.1-1
|
|
||||||
- Update to 1.12.1
|
|
||||||
- Fix mount point check regression breaking bootc-image-builder
|
|
||||||
- Resolves: RHEL-142112
|
|
||||||
|
|
||||||
* Thu Jan 09 2026 Colin Walters <walters@verbum.org> - 1.12.0-1
|
|
||||||
- Update to 1.12.0
|
|
||||||
- Resolves: RHEL-140335
|
|
||||||
|
|
||||||
* Thu Oct 30 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.10.0-1
|
* Thu Oct 30 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.10.0-1
|
||||||
- Update to 1.10.0
|
- Update to 1.10.0
|
||||||
- Resolves: #RHEL-125340
|
- Resolves: #RHEL-125340
|
||||||
17
gating.yaml
Normal file
17
gating.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_contexts:
|
||||||
|
- bodhi_update_push_stable
|
||||||
|
- bodhi_update_push_testing
|
||||||
|
subject_type: koji_build
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
- rhel-10
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||||
89
plans/all.fmf
Normal file
89
plans/all.fmf
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
discover:
|
||||||
|
how: fmf
|
||||||
|
dist-git-source: true
|
||||||
|
dist-git-install-builddeps: true
|
||||||
|
execute:
|
||||||
|
how: tmt
|
||||||
|
environment:
|
||||||
|
NIGHTLY_COMPOSE_SITE: download.eng.bos.redhat.com
|
||||||
|
prepare:
|
||||||
|
# Install image mode system on package mode system
|
||||||
|
- how: install
|
||||||
|
order: 97
|
||||||
|
package:
|
||||||
|
- podman
|
||||||
|
- skopeo
|
||||||
|
- jq
|
||||||
|
- bootc
|
||||||
|
- system-reinstall-bootc
|
||||||
|
- expect
|
||||||
|
- ansible-core
|
||||||
|
- zstd
|
||||||
|
- how: shell
|
||||||
|
order: 98
|
||||||
|
script:
|
||||||
|
- pwd && ls -al && ls -al /var/share/test-artifacts && mkdir -p bootc && cp /var/share/test-artifacts/*.src.rpm bootc
|
||||||
|
- cd bootc && ls -al && rpm2cpio *.src.rpm | cpio -idmv && rm -f *-vendor.tar.zstd && zstd -d *.tar.zstd && tar -xvf *.tar -C . --strip-components=1 && ls -al
|
||||||
|
- cd bootc/hack && ./provision-packit.sh
|
||||||
|
# tmt-reboot and reboot do not work in this case
|
||||||
|
# reboot in ansible is the only way to reboot in tmt prepare
|
||||||
|
- how: ansible
|
||||||
|
order: 99
|
||||||
|
playbook:
|
||||||
|
- https://github.com/bootc-dev/bootc/raw/refs/heads/main/hack/packit-reboot.yml
|
||||||
|
|
||||||
|
/readonly-tests:
|
||||||
|
summary: Execute booted readonly/nondestructive tests
|
||||||
|
discover+:
|
||||||
|
how: fmf
|
||||||
|
test:
|
||||||
|
- /tmt/tests/test-01-readonly
|
||||||
|
|
||||||
|
/test-20-local-upgrade:
|
||||||
|
summary: Execute local upgrade tests
|
||||||
|
discover+:
|
||||||
|
how: fmf
|
||||||
|
test:
|
||||||
|
- /tmt/tests/test-20-local-upgrade
|
||||||
|
|
||||||
|
/test-21-logically-bound-switch:
|
||||||
|
summary: Execute logically bound images tests for switching images
|
||||||
|
discover+:
|
||||||
|
how: fmf
|
||||||
|
test:
|
||||||
|
- /tmt/tests/test-21-logically-bound-switch
|
||||||
|
|
||||||
|
/test-22-logically-bound-install:
|
||||||
|
summary: Execute logically bound images tests for switching images
|
||||||
|
discover+:
|
||||||
|
how: fmf
|
||||||
|
test:
|
||||||
|
- /tmt/tests/test-22-logically-bound-install
|
||||||
|
|
||||||
|
/test-23-install-outside-container:
|
||||||
|
summary: Execute tests for installing outside of a container
|
||||||
|
discover+:
|
||||||
|
how: fmf
|
||||||
|
test:
|
||||||
|
- /tmt/tests/test-23-install-outside-container
|
||||||
|
|
||||||
|
/test-24-local-upgrade-reboot:
|
||||||
|
summary: Execute local upgrade tests with automated reboot
|
||||||
|
discover+:
|
||||||
|
how: fmf
|
||||||
|
test:
|
||||||
|
- /tmt/tests/test-24-local-upgrade-reboot
|
||||||
|
|
||||||
|
/test-25-soft-reboot:
|
||||||
|
summary: Soft reboot support
|
||||||
|
discover+:
|
||||||
|
how: fmf
|
||||||
|
test:
|
||||||
|
- /tmt/tests/test-25-soft-reboot
|
||||||
|
|
||||||
|
/test-28-factory-reset:
|
||||||
|
summary: Factory reset
|
||||||
|
discover:
|
||||||
|
how: fmf
|
||||||
|
test:
|
||||||
|
- /tmt/tests/test-28-factory-reset
|
||||||
93
provision-packit.sh
Executable file
93
provision-packit.sh
Executable file
@ -0,0 +1,93 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -exuo pipefail
|
||||||
|
|
||||||
|
# Check environment
|
||||||
|
printenv
|
||||||
|
|
||||||
|
# temp folder to save building files and folders
|
||||||
|
BOOTC_TEMPDIR=$(mktemp -d)
|
||||||
|
trap 'rm -rf -- "$BOOTC_TEMPDIR"' EXIT
|
||||||
|
|
||||||
|
# Copy files and folders in hack to TEMPDIR
|
||||||
|
cp -a . "$BOOTC_TEMPDIR"
|
||||||
|
|
||||||
|
# Keep testing farm run folder
|
||||||
|
cp -r /var/ARTIFACTS "$BOOTC_TEMPDIR"
|
||||||
|
|
||||||
|
# Copy bootc repo
|
||||||
|
cp -r /var/share/test-artifacts "$BOOTC_TEMPDIR"
|
||||||
|
|
||||||
|
ARCH=$(uname -m)
|
||||||
|
# Get OS info
|
||||||
|
source /etc/os-release
|
||||||
|
|
||||||
|
# Some rhts-*, rstrnt-* and tmt-* commands are in /usr/local/bin
|
||||||
|
if [[ -d /var/lib/tmt/scripts ]]; then
|
||||||
|
cp -r /var/lib/tmt/scripts "$BOOTC_TEMPDIR"
|
||||||
|
ls -al "${BOOTC_TEMPDIR}/scripts"
|
||||||
|
else
|
||||||
|
cp -r /usr/local/bin "$BOOTC_TEMPDIR"
|
||||||
|
ls -al "${BOOTC_TEMPDIR}/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get base image URL
|
||||||
|
TEST_OS="${ID}-${VERSION_ID}"
|
||||||
|
BASE=$(cat os-image-map.json | jq -r --arg v "$TEST_OS" '.[$v]')
|
||||||
|
|
||||||
|
if [[ "$ID" == "rhel" ]]; then
|
||||||
|
# OSCI gating only
|
||||||
|
CURRENT_COMPOSE_ID=$(skopeo inspect --no-tags --retry-times=5 --tls-verify=false "docker://${BASE}" | jq -r '.Labels."redhat.compose-id"')
|
||||||
|
|
||||||
|
if [[ -n ${CURRENT_COMPOSE_ID} ]]; then
|
||||||
|
if [[ ${CURRENT_COMPOSE_ID} == *-updates-* ]]; then
|
||||||
|
BATCH_COMPOSE="updates/"
|
||||||
|
else
|
||||||
|
BATCH_COMPOSE=""
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
BATCH_COMPOSE="updates/"
|
||||||
|
CURRENT_COMPOSE_ID=latest-RHEL-$VERSION_ID
|
||||||
|
fi
|
||||||
|
|
||||||
|
# use latest compose if specific compose is not accessible
|
||||||
|
RC=$(curl -skIw '%{http_code}' -o /dev/null "http://${NIGHTLY_COMPOSE_SITE}/rhel-${VERSION_ID%%.*}/nightly/${BATCH_COMPOSE}RHEL-${VERSION_ID%%.*}/${CURRENT_COMPOSE_ID}/STATUS")
|
||||||
|
if [[ $RC != "200" ]]; then
|
||||||
|
CURRENT_COMPOSE_ID=latest-RHEL-${VERSION_ID%%}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# generate rhel repo
|
||||||
|
tee "${BOOTC_TEMPDIR}/rhel.repo" >/dev/null <<REPOEOF
|
||||||
|
[rhel-baseos]
|
||||||
|
name=baseos
|
||||||
|
baseurl=http://${NIGHTLY_COMPOSE_SITE}/rhel-${VERSION_ID%%.*}/nightly/${BATCH_COMPOSE}RHEL-${VERSION_ID%%.*}/${CURRENT_COMPOSE_ID}/compose/BaseOS/${ARCH}/os/
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=0
|
||||||
|
|
||||||
|
[rhel-appstream]
|
||||||
|
name=appstream
|
||||||
|
baseurl=http://${NIGHTLY_COMPOSE_SITE}/rhel-${VERSION_ID%%.*}/nightly/${BATCH_COMPOSE}RHEL-${VERSION_ID%%.*}/${CURRENT_COMPOSE_ID}/compose/AppStream/${ARCH}/os/
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=0
|
||||||
|
REPOEOF
|
||||||
|
cp "${BOOTC_TEMPDIR}/rhel.repo" /etc/yum.repos.d
|
||||||
|
fi
|
||||||
|
|
||||||
|
ls -al /etc/yum.repos.d
|
||||||
|
cat /etc/yum.repos.d/test-artifacts.repo
|
||||||
|
ls -al /var/share/test-artifacts
|
||||||
|
|
||||||
|
# copy bootc rpm repo into image building root
|
||||||
|
cp /etc/yum.repos.d/test-artifacts.repo "$BOOTC_TEMPDIR"
|
||||||
|
|
||||||
|
# Let's check things in hack folder
|
||||||
|
ls -al "$BOOTC_TEMPDIR"
|
||||||
|
|
||||||
|
# Do not use just because it's only available on Fedora, not on CS and RHEL
|
||||||
|
podman build --jobs=4 --from "$BASE" -v "$BOOTC_TEMPDIR":/bootc-test:z -t localhost/bootc-integration -f "${BOOTC_TEMPDIR}/Containerfile.packit" "$BOOTC_TEMPDIR"
|
||||||
|
|
||||||
|
# Keep these in sync with what's used in hack/lbi
|
||||||
|
podman pull -q --retry 5 --retry-delay 5s quay.io/curl/curl:latest quay.io/curl/curl-base:latest registry.access.redhat.com/ubi9/podman:latest
|
||||||
|
|
||||||
|
# Run system-reinstall-bootc
|
||||||
|
# TODO make it more scriptable instead of expect + send
|
||||||
|
./system-reinstall-bootc.exp
|
||||||
2
sources
Normal file
2
sources
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
SHA512 (bootc-1.10.0.tar.zstd) = bf091786d6dd68ceb4741533a95261b3035c65d0d536d3fa5e6eee2b7ebda0b25efbf6aedf651b2cade8bdd93d39490bb2f3fab2f380a9422458e23e9b918051
|
||||||
|
SHA512 (bootc-1.10.0-vendor.tar.zstd) = 7e291d34ef83b69d801828b99a9645d98f750c90c563774f601fd4bf84c9236e2f0964dfae2d4c46243f9b1d891d21cd8a8b5418e26a8282a1ca553bb5575aa3
|
||||||
Loading…
Reference in New Issue
Block a user