osbuild-composer no longer supports Fedora 36, so we are safe to drop these
now.
iotCommitPackageSet would really benefit from sorting, but that would
create hard to handle conflicts with other PRs upstream, so I decided
not to do it in this commit.
Signed-off-by: Ondřej Budai <ondrej@budai.cz>
Update Fedora 37, 38, and 39 repositories for the test case generator.
Changes are only package versions and dependencies.
For Fedora 39, a package (lklug-fonts) had to be removed from the
Anaconda package set since it is no longer available.
Signed-off-by: Ondřej Budai <ondrej@budai.cz>
GitHub will automatically disable scheduled actions defined on
repositories which don't receive much activity. In particular such
scheduled jobs will be disabled after 60 days of repo inactivity.
This CI job sanity checks the current status and reports back to
every PR so we can manually re-enable cloud-cleaner if necessary.
osbuild-composer doesn't need the epel buildroot, it should be totally
buildable in just a plain RHEL buildroot. Remove the EPEL targets to save
the copr team some resources.
Signed-off-by: Ondřej Budai <ondrej@budai.cz>
This image type produces the same artifact as the current workstation
installer live media.
During the implementation of this new installer some names have been
changed to make a bit more sense in the source tree. Installer images
now always mention which installer they are (anaconda, etc).
Make sure checksums used in the file input helper functions contain only
1 colon delimiter and it is not at the start of the string.
Adjusted tests to work with new restriction.
Helper functions that create stage input objects with references always
hard-coded `sha256:` as a prefix/algorithm for the checksum. This
prevents the functions from being used in cases where other algorithms
are use, like sha1, which is possible with (perhaps older) RPM
repositories. The inputs in osbuild a number of hashing algorithms and
we should be able to generate stages with other prefixes when necessary.
Remove the `sha256:` prefix in the helper functions and assume all
arguments to these functions provide the correct prefix.
Update tests to match.
Fedora 38 contains a global override for all units, thus checking for
equality no longer works. Instead, this commit just checks whether
the override is included.
Signed-off-by: Ondřej Budai <ondrej@budai.cz>
ostree-raw-image.sh and ostree-simplified-installer.sh
Don't need dedicated rebase test workflow, move rebase test into
other test script. That will save runner and reduce running time
Add BIOS rebase test in ostree-raw-image.sh
Add UEFI rebase test in ostree-simplified-installer.sh
PR#3421 [1] unintentionally removed the `rhui-azure-rhel8` package from
the Azure EAP7 RHUI image base package set. As a result, the image
manifest can't be built successfully. The reason is that the removed
package installs a RPM GPG key, which is hard-coded in the image manifest
to be imported as part of the image build.
Add the package back to the image base package set and regenerate all
affected test manifests.
[1] https://github.com/osbuild/osbuild-composer/pull/3421
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Since we only need to retrieve the file names, we can use
`(*os.File).Readdirnames` to avoid reading the whole file info for
better performance.
Sample benchmark:
func Benchmark_Readdir(b *testing.B) {
for i := 0; i < b.N; i++ {
f, err := os.Open("/")
if err != nil {
b.Fatal(err)
}
_, err = f.Readdir(-1)
if err != nil {
f.Close()
b.Fatal(err)
}
f.Close()
}
}
func Benchmark_Readdirnames(b *testing.B) {
for i := 0; i < b.N; i++ {
f, err := os.Open("/")
if err != nil {
b.Fatal(err)
}
_, err = f.Readdirnames(-1)
if err != nil {
f.Close()
b.Fatal(err)
}
f.Close()
}
}
goos: linux
goarch: amd64
pkg: github.com/osbuild/osbuild-composer/internal/jsondb
cpu: AMD Ryzen 7 PRO 4750U with Radeon Graphics
Benchmark_Readdir-16 31304 33551 ns/op 5638 B/op 70 allocs/op
Benchmark_Readdirnames-16 128443 12124 ns/op 1228 B/op 30 allocs/op
PASS
ok github.com/osbuild/osbuild-composer/internal/jsondb 3.098s
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
- not used in oscap.sh test at all
- causes VM in libvirt.sh test to acquire a different IP address instead
of the hard-coded one inside the test, which causes SSH to fail
- not used anywhere else
Edge and IoT manifests are modified from the new option handling. The
"parent" commit ID isn't specified in the options anymore, but it is
(fake) resolved by the manifest generator.
Of particular note is the iot-raw-image manifest that now properly uses
the commit ID in the copy stage for the firmware.
The resolved ostree commits are now stored in the content part of the
manifest metadata alongside package specs and containers.