diff --git a/.tekton/fedora-bootc-42-iot-pull-request.yaml b/.tekton/fedora-bootc-42-iot-pull-request.yaml index 8ed6d8f..866fe38 100644 --- a/.tekton/fedora-bootc-42-iot-pull-request.yaml +++ b/.tekton/fedora-bootc-42-iot-pull-request.yaml @@ -9,9 +9,9 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "true" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch - == "main" && ( "./fedora-iot.yaml".pathChanged() || "./iot/***".pathChanged() - || "./fedora-minimal-plus.yaml".pathChanged() || "./minimal-plus/***".pathChanged() - || "./fedora-minimal.yaml".pathChanged() || "./minimal/***".pathChanged() || + == "main" && ( "./iot.yaml".pathChanged() || "./iot/***".pathChanged() + || "./minimal-plus.hidden.yaml".pathChanged() || "./minimal-plus/***".pathChanged() + || "./minimal.yaml".pathChanged() || "./minimal/***".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || ".tekton/fedora-bootc-42-iot-pull-request.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-42-iot-push.yaml b/.tekton/fedora-bootc-42-iot-push.yaml index 92aa5c6..20e129d 100644 --- a/.tekton/fedora-bootc-42-iot-push.yaml +++ b/.tekton/fedora-bootc-42-iot-push.yaml @@ -8,9 +8,9 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "false" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch - == "main" && ( "./fedora-iot.yaml".pathChanged() || "./iot/***".pathChanged() - || "./fedora-minimal-plus.yaml".pathChanged() || "./minimal-plus/***".pathChanged() - || "./fedora-minimal.yaml".pathChanged() || "./minimal/***".pathChanged() || + == "main" && ( "./iot.yaml".pathChanged() || "./iot/***".pathChanged() + || "./minimal-plus.hidden.yaml".pathChanged() || "./minimal-plus/***".pathChanged() + || "./minimal.yaml".pathChanged() || "./minimal/***".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || ".tekton/fedora-bootc-42-iot-push.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-42-minimal-plus-pull-request.yaml b/.tekton/fedora-bootc-42-minimal-plus-pull-request.yaml index 8334800..1071297 100644 --- a/.tekton/fedora-bootc-42-minimal-plus-pull-request.yaml +++ b/.tekton/fedora-bootc-42-minimal-plus-pull-request.yaml @@ -9,7 +9,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "true" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch - == "main" && ( "./fedora-minimal-plus.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./minimal-plus.hidden.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./minimal-plus/***".pathChanged() || ".tekton/fedora-bootc-42-minimal-plus-pull-request.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-42-minimal-plus-push.yaml b/.tekton/fedora-bootc-42-minimal-plus-push.yaml index 4d08d1a..5d46709 100644 --- a/.tekton/fedora-bootc-42-minimal-plus-push.yaml +++ b/.tekton/fedora-bootc-42-minimal-plus-push.yaml @@ -8,7 +8,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "false" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch - == "main" && ( "./fedora-minimal-plus.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./minimal-plus.hidden.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./minimal-plus/***".pathChanged() || ".tekton/fedora-bootc-42-minimal-plus-push.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-42-minimal-pull-request.yaml b/.tekton/fedora-bootc-42-minimal-pull-request.yaml index bad3391..5bdd22b 100644 --- a/.tekton/fedora-bootc-42-minimal-pull-request.yaml +++ b/.tekton/fedora-bootc-42-minimal-pull-request.yaml @@ -9,7 +9,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "true" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch - == "main" && ( "./fedora-minimal.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./minimal.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./minimal/***".pathChanged() || ".tekton/fedora-bootc-42-minimal-pull-request.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-42-minimal-push.yaml b/.tekton/fedora-bootc-42-minimal-push.yaml index 8156db8..4722843 100644 --- a/.tekton/fedora-bootc-42-minimal-push.yaml +++ b/.tekton/fedora-bootc-42-minimal-push.yaml @@ -8,7 +8,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "false" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch - == "main" && ( "./fedora-minimal.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./minimal.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./minimal/***".pathChanged() || ".tekton/fedora-bootc-42-minimal-push.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-42-standard-pull-request.yaml b/.tekton/fedora-bootc-42-standard-pull-request.yaml index 460c5e8..e542736 100644 --- a/.tekton/fedora-bootc-42-standard-pull-request.yaml +++ b/.tekton/fedora-bootc-42-standard-pull-request.yaml @@ -9,7 +9,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "true" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch - == "main" && ( "./fedora-standard.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./standard.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./standard/***".pathChanged() || ".tekton/fedora-bootc-42-standard-pull-request.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-42-standard-push.yaml b/.tekton/fedora-bootc-42-standard-push.yaml index bb8f906..7389e50 100644 --- a/.tekton/fedora-bootc-42-standard-push.yaml +++ b/.tekton/fedora-bootc-42-standard-push.yaml @@ -8,7 +8,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "false" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch - == "main" && ( "./fedora-standard.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./standard.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./standard/***".pathChanged() || ".tekton/fedora-bootc-42-standard-push.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-rawhide-iot-pull-request.yaml b/.tekton/fedora-bootc-rawhide-iot-pull-request.yaml index d9a5868..6fdd607 100644 --- a/.tekton/fedora-bootc-rawhide-iot-pull-request.yaml +++ b/.tekton/fedora-bootc-rawhide-iot-pull-request.yaml @@ -9,9 +9,9 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "true" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch - == "main" && ( "./fedora-iot.yaml".pathChanged() || "./iot/***".pathChanged() - || "./fedora-minimal-plus.yaml".pathChanged() || "./minimal-plus/***".pathChanged() - || "./fedora-minimal.yaml".pathChanged() || "./minimal/***".pathChanged() || + == "main" && ( "./iot.yaml".pathChanged() || "./iot/***".pathChanged() + || "./minimal-plus.hidden.yaml".pathChanged() || "./minimal-plus/***".pathChanged() + || "./minimal.yaml".pathChanged() || "./minimal/***".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || ".tekton/fedora-bootc-rawhide-iot-pull-request.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-rawhide-iot-push.yaml b/.tekton/fedora-bootc-rawhide-iot-push.yaml index e47d9b5..cc07c7b 100644 --- a/.tekton/fedora-bootc-rawhide-iot-push.yaml +++ b/.tekton/fedora-bootc-rawhide-iot-push.yaml @@ -8,9 +8,9 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "false" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch - == "main" && ( "./fedora-iot.yaml".pathChanged() || "./iot/***".pathChanged() - || "./fedora-minimal-plus.yaml".pathChanged() || "./minimal-plus/***".pathChanged() - || "./fedora-minimal.yaml".pathChanged() || "./minimal/***".pathChanged() || + == "main" && ( "./iot.yaml".pathChanged() || "./iot/***".pathChanged() + || "./minimal-plus.hidden.yaml".pathChanged() || "./minimal-plus/***".pathChanged() + || "./minimal.yaml".pathChanged() || "./minimal/***".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || ".tekton/fedora-bootc-rawhide-iot-push.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-rawhide-minimal-plus-pull-request.yaml b/.tekton/fedora-bootc-rawhide-minimal-plus-pull-request.yaml index 0c1532b..9db25d1 100644 --- a/.tekton/fedora-bootc-rawhide-minimal-plus-pull-request.yaml +++ b/.tekton/fedora-bootc-rawhide-minimal-plus-pull-request.yaml @@ -9,7 +9,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "true" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch - == "main" && ( "./fedora-minimal-plus.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./minimal-plus.hidden.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./minimal-plus/***".pathChanged() || ".tekton/fedora-bootc-rawhide-minimal-plus-pull-request.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-rawhide-minimal-plus-push.yaml b/.tekton/fedora-bootc-rawhide-minimal-plus-push.yaml index 43c33b0..403e24c 100644 --- a/.tekton/fedora-bootc-rawhide-minimal-plus-push.yaml +++ b/.tekton/fedora-bootc-rawhide-minimal-plus-push.yaml @@ -8,7 +8,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "false" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch - == "main" && ( "./fedora-minimal-plus.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./minimal-plus.hidden.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./minimal-plus/***".pathChanged() || ".tekton/fedora-bootc-rawhide-minimal-plus-push.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-rawhide-minimal-pull-request.yaml b/.tekton/fedora-bootc-rawhide-minimal-pull-request.yaml index dc8116c..72eee9f 100644 --- a/.tekton/fedora-bootc-rawhide-minimal-pull-request.yaml +++ b/.tekton/fedora-bootc-rawhide-minimal-pull-request.yaml @@ -9,7 +9,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "true" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch - == "main" && ( "./fedora-minimal.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./minimal.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./minimal/***".pathChanged() || ".tekton/fedora-bootc-rawhide-minimal-pull-request.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-rawhide-minimal-push.yaml b/.tekton/fedora-bootc-rawhide-minimal-push.yaml index e85bdb5..bfe7734 100644 --- a/.tekton/fedora-bootc-rawhide-minimal-push.yaml +++ b/.tekton/fedora-bootc-rawhide-minimal-push.yaml @@ -8,7 +8,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "false" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch - == "main" && ( "./fedora-minimal.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./minimal.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./minimal/***".pathChanged() || ".tekton/fedora-bootc-rawhide-minimal-push.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-rawhide-standard-pull-request.yaml b/.tekton/fedora-bootc-rawhide-standard-pull-request.yaml index ef2ef09..1e5b00b 100644 --- a/.tekton/fedora-bootc-rawhide-standard-pull-request.yaml +++ b/.tekton/fedora-bootc-rawhide-standard-pull-request.yaml @@ -9,7 +9,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "true" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch - == "main" && ( "./fedora-standard.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./standard.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./standard/***".pathChanged() || ".tekton/fedora-bootc-rawhide-standard-pull-request.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/.tekton/fedora-bootc-rawhide-standard-push.yaml b/.tekton/fedora-bootc-rawhide-standard-push.yaml index 245a6ec..d41a800 100644 --- a/.tekton/fedora-bootc-rawhide-standard-push.yaml +++ b/.tekton/fedora-bootc-rawhide-standard-push.yaml @@ -8,7 +8,7 @@ metadata: pipelinesascode.tekton.dev/cancel-in-progress: "false" pipelinesascode.tekton.dev/max-keep-runs: "3" pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch - == "main" && ( "./fedora-standard.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() + == "main" && ( "./standard.yaml".pathChanged() || "./fedora-includes/generic.yaml".pathChanged() || "./standard/***".pathChanged() || ".tekton/fedora-bootc-rawhide-standard-push.yaml".pathChanged() || "Containerfile".pathChanged() ) creationTimestamp: null diff --git a/bootc-base-imagectl b/bootc-base-imagectl index fbe879a..4cdcc1e 100755 --- a/bootc-base-imagectl +++ b/bootc-base-imagectl @@ -17,10 +17,12 @@ def run_build_rootfs(args): Regenerates a base image using a build configuration. """ target = args.target - if os.path.isdir(args.manifest): - manifest_path = os.path.join(f'/{MANIFESTDIR}', args.manifest, 'manifest.yaml') + for fn in [f'{args.manifest}.yaml', f'{args.manifest}.hidden.yaml']: + manifest_path = f'/{MANIFESTDIR}/{fn}' + if os.path.exists(manifest_path): + break else: - manifest_path = f'/{MANIFESTDIR}/{args.manifest}.yaml' + raise Exception(f"manifest not found: {args.manifest}") rpmostree_argv = ['rpm-ostree', 'compose', 'rootfs'] @@ -119,7 +121,7 @@ def run_list(args): d = '/' + MANIFESTDIR for ent in sorted(os.listdir(d)): name, ext = os.path.splitext(ent) - if ext != '.yaml': + if ext != '.yaml' or name.endswith('.hidden'): continue fullpath = os.path.join(d, ent) if os.path.islink(fullpath): diff --git a/fedora-iot.yaml b/fedora-iot.yaml deleted file mode 100644 index 27aabce..0000000 --- a/fedora-iot.yaml +++ /dev/null @@ -1,4 +0,0 @@ -include: - - iot/manifest.yaml - - fedora-minimal-plus.yaml - diff --git a/fedora-iot.yaml b/fedora-iot.yaml new file mode 120000 index 0000000..015e654 --- /dev/null +++ b/fedora-iot.yaml @@ -0,0 +1 @@ +iot.yaml \ No newline at end of file diff --git a/fedora-minimal-plus.yaml b/fedora-minimal-plus.yaml deleted file mode 100644 index a987b38..0000000 --- a/fedora-minimal-plus.yaml +++ /dev/null @@ -1,3 +0,0 @@ -include: - - fedora-includes/generic.yaml - - minimal-plus/manifest.yaml diff --git a/fedora-minimal-plus.yaml b/fedora-minimal-plus.yaml new file mode 120000 index 0000000..a1f9a23 --- /dev/null +++ b/fedora-minimal-plus.yaml @@ -0,0 +1 @@ +minimal-plus.hidden.yaml \ No newline at end of file diff --git a/fedora-minimal.yaml b/fedora-minimal.yaml deleted file mode 100644 index a6b3b23..0000000 --- a/fedora-minimal.yaml +++ /dev/null @@ -1,3 +0,0 @@ -include: - - fedora-includes/generic.yaml - - minimal/manifest.yaml diff --git a/fedora-minimal.yaml b/fedora-minimal.yaml new file mode 120000 index 0000000..57d7672 --- /dev/null +++ b/fedora-minimal.yaml @@ -0,0 +1 @@ +minimal.yaml \ No newline at end of file diff --git a/fedora-standard.yaml b/fedora-standard.yaml deleted file mode 100644 index 4dd7d72..0000000 --- a/fedora-standard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -include: - - fedora-includes/generic.yaml - - standard/manifest.yaml - -packages: - # Make Ansible "package" builtin work by default - - python3-libdnf5 diff --git a/fedora-standard.yaml b/fedora-standard.yaml new file mode 120000 index 0000000..55bfa44 --- /dev/null +++ b/fedora-standard.yaml @@ -0,0 +1 @@ +standard.yaml \ No newline at end of file diff --git a/install-manifests b/install-manifests index 93d878c..f36a442 100755 --- a/install-manifests +++ b/install-manifests @@ -7,7 +7,13 @@ mkdir -p "$manifestdir/" for image in minimal standard minimal-plus iot; do # Embed the generic defaults cp -a $image $manifestdir/ - # And the Fedora-specific tweaks + # And the top-level Fedora-specific manifests + if [ -f $image.hidden.yaml ]; then + cp -a $image.hidden.yaml $manifestdir/ + else + cp -a $image.yaml $manifestdir/ + fi + # And the legacy `fedora-` prefixed names cp -a fedora-$image.yaml $manifestdir/ done # Set the default diff --git a/iot.yaml b/iot.yaml new file mode 100644 index 0000000..27aabce --- /dev/null +++ b/iot.yaml @@ -0,0 +1,4 @@ +include: + - iot/manifest.yaml + - fedora-minimal-plus.yaml + diff --git a/minimal-plus.hidden.yaml b/minimal-plus.hidden.yaml new file mode 100644 index 0000000..a987b38 --- /dev/null +++ b/minimal-plus.hidden.yaml @@ -0,0 +1,3 @@ +include: + - fedora-includes/generic.yaml + - minimal-plus/manifest.yaml diff --git a/minimal.yaml b/minimal.yaml new file mode 100644 index 0000000..a6b3b23 --- /dev/null +++ b/minimal.yaml @@ -0,0 +1,3 @@ +include: + - fedora-includes/generic.yaml + - minimal/manifest.yaml diff --git a/standard.yaml b/standard.yaml new file mode 100644 index 0000000..4dd7d72 --- /dev/null +++ b/standard.yaml @@ -0,0 +1,7 @@ +include: + - fedora-includes/generic.yaml + - standard/manifest.yaml + +packages: + # Make Ansible "package" builtin work by default + - python3-libdnf5