From f977c4ebc94972a7459e3d0dc2cd0e268c4f96f6 Mon Sep 17 00:00:00 2001 From: thislight Date: Wed, 25 Jun 2025 20:16:06 +0800 Subject: [PATCH 1/3] update dependencies --- bun.lockb | Bin 3138 -> 2757 bytes package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index e1100079dfc6e6e06138b86df63ef6baeebfb87c..8a9a81fbf5c8e041db04ce32c3143ba1759c117b 100755 GIT binary patch delta 572 zcmX>kaa44Io@P{0?shNDhxgdB{C{)`IGV^Zu5qev6gXD7#v}T(fO4EE7XuiuO$?W3 z%43^Yp};#ED8S9Y(C`3A^GsZ8Jn=;gD-)0{IPs(U*cZ>db>1qzmmwmO)0vMkK9;hZK9BS3B;Q}YE0>8s z|Mt^*;_um&>XnXPuBuK}WjQg~m38?hHY-M<4QvpXAA!{f7XsuYkk{ zs5}e%gqdPrh|o@V2J@45GOm}HoOGVJV1Ijkmj7Y)R<%O=^2&tvo2*$yb;672o&U-_)vXv0;33+ zqYC0EFmf=ipS+UMp7HDCmyGs;WA~TTf7l@y=D9QrSiiS0BBwB`rF+ zE8_mA!sKJI^*>w=WY5lz64GC7x7!hw5T>i*@8>x<5-CPv=kHaN9$ z=I6}hIrZ{W15NIWPd~CE>E^_>V#+(Zj(GX3e6)4Ts;vStS<8gnmnUzJQB+>nkTdxx z^9i3thwU2^f^Al?haY|7_wsoa%SENrM_=`*)z7h0yC84PXMOWlZdtDElrHN8GnV@I9|AzqpwRmORl>nB`5c=WA1K@{KoI~0As`_&HCPzK!k-x^ z#R9}2x&x}zj&rgfdy%!Fp0POt12_o);}Mnum>BCU^i1^(4H#gFWuksmui92yOQ4LA zfu5m}p2f?_57{N{Fy*y?mViJ9Cxku$r6E4b%quQQ%*oL!PR%V#Et;&zp*Gor!$3U? z7$~5$*kWONhOvV0-w&v!RnX+iWm9Tlr(ifafn8$qc8&lRLp?*2$=sX{G9dTsm84fW slvEa^7VDQ6Lm7GbDXEh`a!OCG Date: Sun, 29 Jun 2025 18:51:44 +0800 Subject: [PATCH 2/3] remove fedora-40 --- .forgejo/workflows/build-fedora-40.yml | 38 ----------- fedora-40-minimal/Containerfile | 19 ------ fedora-40-minimal/README.md | 64 ------------------ fedora-40-minimal/containers.conf | 2 - fedora-40/Containerfile | 23 ------- fedora-40/README.md | 90 -------------------------- 6 files changed, 236 deletions(-) delete mode 100644 .forgejo/workflows/build-fedora-40.yml delete mode 100644 fedora-40-minimal/Containerfile delete mode 100644 fedora-40-minimal/README.md delete mode 100644 fedora-40-minimal/containers.conf delete mode 100644 fedora-40/Containerfile delete mode 100644 fedora-40/README.md diff --git a/.forgejo/workflows/build-fedora-40.yml b/.forgejo/workflows/build-fedora-40.yml deleted file mode 100644 index 387bb02..0000000 --- a/.forgejo/workflows/build-fedora-40.yml +++ /dev/null @@ -1,38 +0,0 @@ - -$schema: https://github.com/SchemaStore/schemastore/raw/master/src/schemas/json/github-workflow.json - -on: - push: - branches: ['master'] - paths: - - "fedora-40/**" - - "fedora-40-minimal/**" - - "shared/**" - - ".forgejo/workflows/build-fedora-40.yml" - schedule: - - cron: "0 0 * * 3" # Every Thursday 00:00 - - -jobs: - build: - runs-on: fedora-40 - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Bun - uses: oven-sh/setup-bun@v2 - with: - bun-version-file: 'package.json' - - name: Fulfill Package Manager Cache - run: dnf makecache -y --releasever 40 - - name: Sign in to Image Index - run: buildah login code.lightstands.xyz --username ${{ env.GITHUB_ACTOR }} --password ${{ secrets.PUBLICATION_TOKEN }} - - name: Build Minimal Images - run: DNF_CACHE_PATH=/var/cache/dnf bun shared/build-image.ts code.lightstands.xyz/standcoded/fedora-minimal:40 fedora-40-minimal arm64 - - name: Push Minimal Images - run: buildah manifest push code.lightstands.xyz/standcoded/fedora-minimal:40 --all - - name: Build Complete Images - run: DNF_CACHE_PATH=/var/cache/dnf bun shared/build-image.ts code.lightstands.xyz/standcoded/fedora:40 fedora-40 arm64 - - name: Push Complete Images - run: buildah manifest push code.lightstands.xyz/standcoded/fedora:40 --all - diff --git a/fedora-40-minimal/Containerfile b/fedora-40-minimal/Containerfile deleted file mode 100644 index 0b85597..0000000 --- a/fedora-40-minimal/Containerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM fedora:40 - -RUN sh /imgbuild/fedora/instpkgs-minimal.sh - -# We don't clean up dnf cache since user may want to install packages for their use - -ADD containers.conf /etc/containers/ - -RUN sh /imgbuild/configure-nested-container.sh - -VOLUME /var/lib/containers -VOLUME /home/action/.local/share/containers - -# Set up environment variables to note that this is -# not starting with usernamespace and default to -# isolate the filesystem with chroot. -ENV _BUILDAH_STARTED_IN_USERNS="" BUILDAH_ISOLATION=chroot - -ENTRYPOINT [ "/bin/bash" ] diff --git a/fedora-40-minimal/README.md b/fedora-40-minimal/README.md deleted file mode 100644 index 67a10a8..0000000 --- a/fedora-40-minimal/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# fedora-minimal:40 - -```yaml -container: - image: code.lightstands.xyz/standcoded/fedora-minimal:40 -``` - -## Included Softwares - -### General - -- coreutils -- bash -- aria2 -- jq -- yq -- zstd -- brotil -- sqlite - -### Version Control - -- git -- git-lfs -- git-ftp - -### Container Management - -- podman -- buildah -- fuse-overlayfs - -### NodeJS - -- nodejs -- nodejs-npm - -### Python - -- python3 -- python3-devel -- python3-pip -- pipx - -### Perl - -- perl -- perl-CPAN - -### Ruby - -- ruby -- rubygems - -### C - -- clang -- gcc - -## Additional Configuration - -### Building Container Images - -This images configured buildah to be correctly run under a container. You can use [The workflow of this project](../.forgejo/workflows/build-fedora-40.yml) as an example. diff --git a/fedora-40-minimal/containers.conf b/fedora-40-minimal/containers.conf deleted file mode 100644 index 0bf45cd..0000000 --- a/fedora-40-minimal/containers.conf +++ /dev/null @@ -1,2 +0,0 @@ -[engine] -cgroup_manager = "cgroupfs" diff --git a/fedora-40/Containerfile b/fedora-40/Containerfile deleted file mode 100644 index da54e7a..0000000 --- a/fedora-40/Containerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM code.lightstands.xyz/standcoded/fedora-minimal:40 - -RUN dnf install -y --setopt install_weak_deps=False sqlite-devel binutils - -RUN dnf install -y --setopt install_weak_deps=False nodejs-devel poetry perl-devel ruby-devel - -RUN dnf install -y --setopt install_weak_deps=False php php-devel composer - -RUN dnf install -y --setopt install_weak_deps=False java-1.8.0-openjdk java-1.8.0-openjdk-devel - -RUN dnf install -y --setopt install_weak_deps=False java-11-openjdk java-11-openjdk-devel - -RUN dnf install -y --setopt install_weak_deps=False java-17-openjdk java-17-openjdk-devel - -RUN dnf install -y --setopt install_weak_deps=False java-21-openjdk java-21-openjdk-devel - -RUN dnf install -y --setopt install_weak_deps=False qemu-user-static qemu-user-binfmt - -RUN dnf install -y --setopt install_weak_deps=False bison flex - -RUN dnf group install -y --setopt install_weak_deps=False "C Development Tools and Libraries" - -RUN npm -g install corepack diff --git a/fedora-40/README.md b/fedora-40/README.md deleted file mode 100644 index fd25029..0000000 --- a/fedora-40/README.md +++ /dev/null @@ -1,90 +0,0 @@ -# fedora:40 - -```yaml -container: - image: code.lightstands.xyz/standcoded/fedora:40 -``` - -## Included Softwares - -### General - -- coreutils -- bash -- aria2 -- jq -- yq -- zstd -- brotil -- sqlite -- sqlite-devel -- binutils - -### Version Control - -- git -- git-lfs -- git-ftp - -### Container Management - -- podman -- buildah -- fuse-overlayfs -- qemu-user-static -- qemu-user-binfmt - -### NodeJS - -- nodejs -- nodejs-npm -- nodejs-devel -- corepack - -### Python - -- python3-devel -- python3-pip -- pipx -- poetry - -### Perl - -- perl -- perl-CPAN -- perl-devel - -### Ruby - -- ruby -- rubygems -- ruby-devel - -### C - -- clang -- gcc -- bison -- flex -- "C Development Tools and Libraries" - -### PHP - -- php -- php-devel -- composer - -### Java - -| Version | Packages | -| - | - | -| 1.8.0 | java-1.8.0-openjdk, java-1.8.0-openjdk-devel | -| 11 | java-11-openjdk, java-11-openjdk-devel | -| 17 | java-17-openjdk, java-17-openjdk-devel | -| 21 | java-21-openjdk, java-21-openjdk-devel | - -## Additional Configuration - -### Building Container Images - -This images configured buildah to be correctly run under a container. You can use [The workflow of this project](../.forgejo/workflows/build-fedora-40.yml) as an example. From 9899ce98f74f0147543f0aeaf5698d8956358c59 Mon Sep 17 00:00:00 2001 From: thislight Date: Sun, 29 Jun 2025 18:53:03 +0800 Subject: [PATCH 3/3] build-image: remove hard-coded hosts from containerfiles --- .forgejo/workflows/build-fedora-41.yml | 5 +---- fedora-41/Containerfile | 2 +- shared/build-image.ts | 6 ++++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build-fedora-41.yml b/.forgejo/workflows/build-fedora-41.yml index b84c5d8..644f62a 100644 --- a/.forgejo/workflows/build-fedora-41.yml +++ b/.forgejo/workflows/build-fedora-41.yml @@ -1,6 +1,3 @@ - -$schema: https://github.com/SchemaStore/schemastore/raw/master/src/schemas/json/github-workflow.json - on: push: branches: ['master'] @@ -15,7 +12,7 @@ on: jobs: build: - runs-on: fedora-40 + runs-on: fedora-41 steps: - name: Checkout uses: actions/checkout@v3 diff --git a/fedora-41/Containerfile b/fedora-41/Containerfile index 2fd4651..16529f3 100644 --- a/fedora-41/Containerfile +++ b/fedora-41/Containerfile @@ -1,4 +1,4 @@ -FROM code.lightstands.xyz/standcoded/fedora-minimal:41 +FROM localhost/runner-images/fedora-minimal:41 RUN dnf install -y --setopt install_weak_deps=False sqlite-devel binutils diff --git a/shared/build-image.ts b/shared/build-image.ts index 7d1775e..14979fc 100644 --- a/shared/build-image.ts +++ b/shared/build-image.ts @@ -7,6 +7,10 @@ const dirName = process.argv[3]; const arches = process.argv[4].split(","); const pathToDnfCache = process.env["DNF_CACHE_PATH"]; +const stag = tag.split('/'); +const imageName = stag[stag.length - 1]; +const tempTag = `localhost/runner-images/${imageName}`; + await $`buildah manifest create ${tag}`; for (const arch of arches) { await $`buildah build --arch ${arch} \ @@ -15,3 +19,5 @@ for (const arch of arches) { --manifest ${tag} \ --volume ${sharedDir}:/imgbuild:z ${dirName}`; } + +await $`buildah tag ${tag} ${tempTag}`;