Some checks failed
/ build (push) Failing after 45s
Replace Docker buildx based container building with buildah configured for running in a Forgejo runner that's inside a rootless Podman deployment. This also removes kubectl and ansible as my infrastructure is not going to target these technologies for deployment.
56 lines
1.7 KiB
Bash
56 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
set -xe
|
|
|
|
YQ_VERSION=v4.44.2
|
|
NODE_VERSION=22.x
|
|
PNPM_VERSION=v9.5.0
|
|
|
|
ctr=$(buildah from "docker.io/library/debian:trixie-20250428")
|
|
mnt=$(buildah mount $ctr) # Used to verify mounts work
|
|
|
|
# Install dependencies
|
|
buildah run $ctr -- apt-get update
|
|
buildah run $ctr -- apt-get install -y --no-install-recommends \
|
|
buildah \
|
|
ca-certificates \
|
|
containers-storage \
|
|
crun \
|
|
curl \
|
|
git \
|
|
netavark \
|
|
openssh-client \
|
|
podman \
|
|
podman-docker \
|
|
;
|
|
|
|
# Configure container storage
|
|
shared=/var/lib/shared/storage
|
|
buildah run $ctr -- sh -c "sed /usr/share/containers/storage.conf \
|
|
-e '/^additionalimagestores/a"'\
|
|
'" \"$shared\"' \
|
|
> /etc/containers/storage.conf"
|
|
buildah run $ctr -- sh -c "\
|
|
mkdir -p $shared/overlay-images $shared/overlay-layers; \
|
|
touch $shared/overlay-images/images.lock; \
|
|
touch $shared/overlay-layers/layers.lock; \
|
|
"
|
|
|
|
# yq https://github.com/mikefarah/yq?tab=readme-ov-file#install
|
|
buildah run $ctr -- sh -c "curl --silent --location \"https://github.com/mikefarah/yq/releases/download/$YQ_VERSION/yq_linux_amd64.tar.gz\" \
|
|
| tar --extract --gzip --to-stdout ./yq_linux_amd64 \
|
|
| install --owner=root --group=root --mode=0755 /dev/stdin /usr/local/bin/yq \
|
|
;"
|
|
|
|
# node https://github.com/nodesource/distributions?tab=readme-ov-file#using-debian-as-root-nodejs-22
|
|
buildah run $ctr -- sh -c "curl --silent --location \"https://deb.nodesource.com/setup_$NODE_VERSION\" | bash"
|
|
buildah run $ctr -- apt-get install -y --no-install-recommends nodejs
|
|
|
|
# pnpm https://nodejs.org/api/corepack.html#upgrading-the-global-versions
|
|
buildah run $ctr -- corepack install --global pnpm@$PNPM_VERSION
|
|
buildah run $ctr -- corepack enable pnpm
|
|
|
|
# Clear caches
|
|
buildah run $ctr -- rm -rf /var/lib/apt/lists/*
|
|
|
|
buildah unmount $mnt
|
|
buildah commit --rm $ctr $1
|