Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ jobs:
strategy:
matrix:
arch:
- ppc64le
# ppc64le disabled
- s390x
fail-fast: false # if one fails, keep the other(s) running
name: "Cross-arch qemu based image build/boot smoke test"
Expand Down
2 changes: 1 addition & 1 deletion Schutzfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"common": {
"rngseed": 2026063000,
"rngseed": 2026070700,
"dependencies": {
"bootc-image-builder": {
"ref": "quay.io/centos-bootc/bootc-image-builder@sha256:9893e7209e5f449b86ababfd2ee02a58cca2e5990f77b06c3539227531fc8120"
Expand Down
256 changes: 0 additions & 256 deletions cmd/build/main.go

This file was deleted.

34 changes: 19 additions & 15 deletions cmd/gen-manifests/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import (
"github.com/osbuild/image-builder/pkg/flatpak"
"github.com/osbuild/image-builder/pkg/manifest"
"github.com/osbuild/image-builder/pkg/manifestgen/manifestmock"
"github.com/osbuild/image-builder/pkg/osbuild"
"github.com/osbuild/image-builder/pkg/ostree"
"github.com/osbuild/image-builder/pkg/rhsm/facts"
"github.com/osbuild/image-builder/pkg/rpmmd"
Expand Down Expand Up @@ -248,7 +249,7 @@ func makeManifestJob(

// ensure that each distro/arch has a unique seed, we do not include the image type name here to
// avoid checksum changes when just the name changes (but no content changes)
seedArg, err := cmdutil.SeedArgFor(bc, distribution.Name(), archName)
seedArg, err := cmdutil.NewRNGSeed()
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -288,9 +289,9 @@ func makeManifestJob(
}
}

// add RHSM fact to detect changes
// add RHSM fact to match ./cmd/image-builder
options.Facts = &facts.ImageOptions{
APIType: facts.TEST_APITYPE,
APIType: facts.IBCLI_APITYPE,
}

// Extend the repositories with the custom repositories from the build config
Expand All @@ -317,7 +318,7 @@ func makeManifestJob(
}()
msgq <- fmt.Sprintf("Starting job %s", filename)

manifest, _, err := imgType.Manifest(&bp, options, allRepos, &seedArg)
mf, _, err := imgType.Manifest(&bp, options, allRepos, &seedArg)
if err != nil {
err = fmt.Errorf("[%s] failed: %s", filename, err)
return
Expand All @@ -326,7 +327,7 @@ func makeManifestJob(
var depsolvedSets map[string]depsolvednf.DepsolveResult
if content["packages"] {
solver := depsolvednf.NewSolver(distribution.ModulePlatformID(), distribution.Releasever(), archName, distribution.Name(), cacheDir)
depsolvedSets, err = solver.DepsolveAll(common.Must(manifest.GetPackageSetChains()))
depsolvedSets, err = solver.DepsolveAll(common.Must(mf.GetPackageSetChains()))
if err != nil {
err = fmt.Errorf("[%s] depsolve failed: %s", filename, err.Error())
return
Expand All @@ -338,7 +339,7 @@ func makeManifestJob(
}
}
} else {
depsolvedSets, err = manifestmock.Depsolve(common.Must(manifest.GetPackageSetChains()), archName, bc, false)
depsolvedSets, err = manifestmock.Depsolve(common.Must(mf.GetPackageSetChains()), archName, bc, false)
if err != nil {
err = fmt.Errorf("[%s] manifestmock depsolve failed: %s", filename, err.Error())
return
Expand All @@ -347,35 +348,38 @@ func makeManifestJob(

var containerSpecs map[string][]container.Spec
if content["containers"] {
containerSpecs, err = container.NewResolver(archName).ResolveAll(manifest.GetContainerSourceSpecs())
containerSpecs, err = container.NewResolver(archName).ResolveAll(mf.GetContainerSourceSpecs())
if err != nil {
return fmt.Errorf("[%s] container resolution failed: %s", filename, err.Error())
}
} else {
containerSpecs = manifestmock.ResolveContainers(manifest.GetContainerSourceSpecs())
containerSpecs = manifestmock.ResolveContainers(mf.GetContainerSourceSpecs())
}

var commitSpecs map[string][]ostree.CommitSpec
if content["commits"] {
commitSpecs, err = ostree.ResolveAll(manifest.GetOSTreeSourceSpecs())
commitSpecs, err = ostree.ResolveAll(mf.GetOSTreeSourceSpecs())
if err != nil {
return fmt.Errorf("[%s] ostree commit resolution failed: %s", filename, err.Error())
}
} else {
commitSpecs = manifestmock.ResolveCommits(manifest.GetOSTreeSourceSpecs())
commitSpecs = manifestmock.ResolveCommits(mf.GetOSTreeSourceSpecs())
}

var flatpakSpecs map[string][]flatpak.Spec
if content["flatpaks"] {
flatpakSpecs, err = flatpak.ResolveAll(manifest.GetFlatpakSourceSpecs())
flatpakSpecs, err = flatpak.ResolveAll(mf.GetFlatpakSourceSpecs())
if err != nil {
return fmt.Errorf("[%s] flatpak resolution failed: %s", filename, err.Error())
}
} else {
flatpakSpecs = manifestmock.ResolveFlatpaks(manifest.GetFlatpakSourceSpecs())
flatpakSpecs = manifestmock.ResolveFlatpaks(mf.GetFlatpakSourceSpecs())
}

mf, err := manifest.Serialize(depsolvedSets, containerSpecs, commitSpecs, flatpakSpecs, nil)
options := manifest.SerializeOptions{
RpmDownloader: osbuild.RpmDownloaderLibrepo,
}
mfs, err := mf.Serialize(depsolvedSets, containerSpecs, commitSpecs, flatpakSpecs, &options)
if err != nil {
return fmt.Errorf("[%s] manifest serialization failed: %s", filename, err.Error())
}
Expand All @@ -388,15 +392,15 @@ func makeManifestJob(
Config: bc,
}
if cs != nil {
err = cs.recordManifestChecksum(mf, depsolvedSets, containerSpecs, commitSpecs, flatpakSpecs, request, filename, metadata)
err = cs.recordManifestChecksum(mfs, depsolvedSets, containerSpecs, commitSpecs, flatpakSpecs, request, filename, metadata)
} else {
fpath := filepath.Join(path, filename)
fp, createErr := os.Create(fpath)
if createErr != nil {
return fmt.Errorf("failed to create output file %q: %s\n", fpath, createErr.Error())
}
defer fp.Close()
err = save(fp, true, mf, depsolvedSets, containerSpecs, commitSpecs, flatpakSpecs, request, filename, metadata)
err = save(fp, true, mfs, depsolvedSets, containerSpecs, commitSpecs, flatpakSpecs, request, filename, metadata)
}
return
}
Expand Down
Loading
Loading