commit df91763e75545e5813416d23b93bdda0a55a80c3 Author: Knut Ahlers Date: Wed Apr 10 20:11:08 2024 +0200 Initial version diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..24d557f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM luzifer/archlinux + +COPY build.sh /usr/local/bin/init-image +RUN bash /usr/local/bin/init-image diff --git a/README.md b/README.md new file mode 100644 index 0000000..b4ffe4f --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# luzifer-docker / gh-arch-env + +Archlinux-based image containing set of packages used in Github Actions runs diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..8549060 --- /dev/null +++ b/build.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +set -euo pipefail + +function step() { + echo "[$(date +%H:%M:%S)] $@..." >&2 +} + +packages=( + awk + curl + diffutils + git + git-lfs + go + golangci-lint-bin + make + nodejs-lts-hydrogen + npm + tar + trivy + unzip + which + zip +) + +step "Installing signing key for luzifer repo" +pacman-key --init + +curl -sSfL https://archrepo.hub.luzifer.io/x86_64/luzifer.asc | + pacman-key --add - + +pacman-key --lsign-key 6F73A4F39CDF652E3F944142085AA223D0391BF9 + +step "Configuring pacman" +cat <<'EOF' >/etc/pacman.conf +[options] +HoldPkg = pacman glibc +Architecture = auto +ParallelDownloads = 10 +Color +CheckSpace + +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional + +[core] +Include = /etc/pacman.d/mirrorlist + +[luzifer] +SigLevel = Required +Server = https://archrepo.hub.luzifer.io/$arch + +[extra] +Include = /etc/pacman.d/mirrorlist +EOF + +step "Installling desired packages" +pacman -Syy --noconfirm "${packages[@]}"