From 0f925d9a9e682c09470efd96846f34289e5d7a17 Mon Sep 17 00:00:00 2001 From: Wesley van Tilburg Date: Sat, 21 Feb 2026 16:00:11 +0100 Subject: [PATCH] CI: initial hardcoded ci --- .gitea/workflows/build.yaml | 65 +++++++++++++++++++++++++++++++++++++ images/base/manifest.yaml | 3 -- images/shared/base.yaml | 20 +++++++++--- 3 files changed, 81 insertions(+), 7 deletions(-) create mode 100644 .gitea/workflows/build.yaml diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..0d77f41 --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,65 @@ +name: Build containers + +on: + workflow_dispatch: + pull_request: + branches: ["main"] + push: + branches: ["main"] + +jobs: + build_push: + name: Build and push image + runs-on: job-v2 + + strategy: + fail-fast: false + matrix: + image: [base] + version: [43] + + container: + image: "quay.io/fedora-ostree-desktops/buildroot:43" + options: "--security-opt apparmor=unconfined --privileged --user 0:0 --device=/dev/kvm --device=/dev/fuse --volume /:/run/host:rw" + + steps: + - name: Install dependencies + run: | + dnf install -y nodejs + + - name: Checkout + uses: actions/checkout@v4 + + - name: Install latest rpm-ostree package from testing repos + run: | + dnf upgrade -y --enablerepo=updates-testing --refresh rpm-ostree + + - name: Build Bootable Container image + run: | + ./builder.sh "${{ matrix.image }}" "${{ matrix.version }}" + + - name: Compute version + buildid + id: meta + run: | + if [[ -f ".buildid" ]]; then + buildid="$(< .buildid)" + else + buildid="$(date '+%Y%m%d.0')" + echo "${buildid}" > .buildid + fi + + echo "buildid=${buildid}" >> $GITHUB_OUTPUT + echo "version=${{ matrix.version }}" >> $GITHUB_OUTPUT + + - name: Push container image to registry + uses: redhat-actions/push-to-registry@v2 + with: + image: misthios/${{ matrix.image }} + tags: | + ${{ steps.meta.outputs.version }}.${{ steps.meta.outputs.buildid }} + ${{ steps.meta.outputs.version }} + registry: git.plabble.org + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} + extra-args: | + --compression-format=zstd diff --git a/images/base/manifest.yaml b/images/base/manifest.yaml index f58e40c..4e673c3 100644 --- a/images/base/manifest.yaml +++ b/images/base/manifest.yaml @@ -38,6 +38,3 @@ packages: repos: - fedora-base - fedora-updates - -labels: - containers.bootc: "1" diff --git a/images/shared/base.yaml b/images/shared/base.yaml index 6163f4c..51e1d08 100644 --- a/images/shared/base.yaml +++ b/images/shared/base.yaml @@ -150,10 +150,7 @@ postprocess: - | #!/bin/bash set -xeuo pipefail - source /usr/lib/os-release - if [ $ID == "fedora" ] && [ ${VERSION_ID} -ge 43 ]; then - echo "enable bootloader-update.service" >> /usr/lib/systemd/system-preset/85-bootc.preset - fi + echo "enable bootloader-update.service" >> /usr/lib/systemd/system-preset/85-bootc.preset # Undo RPM scripts enabling units; we want the presets to be canonical # https://github.com/projectatomic/rpm-ostree/issues/1803 - | @@ -179,6 +176,21 @@ packages: - xfsprogs e2fsprogs dosfstools - bootupd +packages-x86_64: + - grub2 grub2-efi-x64 efibootmgr shim + - microcode_ctl + exclude-packages: - kernel-debug-core + # The grub bits are mainly designed for desktops, and IMO haven't seen + # enough testing in concert with ostree. At some point we'll flesh out + # the full plan in https://github.com/coreos/fedora-coreos-tracker/issues/47 + +remove-from-packages: +- [grub2-tools, /etc/grub.d/08_fallback_counting, + /etc/grub.d/10_reset_boot_success, + /etc/grub.d/12_menu_auto_hide, + /usr/lib/systemd/.*] + +