ci: rework Dockerfile image + buildx dep added

This commit is contained in:
2026-10-25 01:34:38 +02:00
parent e25b864982
commit 8cc9ff36e7
2 changed files with 26 additions and 55 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install Docker CLI - name: Install Docker CLI
run: apk add --no-cache docker-cli run: apk add --no-cache docker-cli docker-cli-buildx
- name: Login to registry - name: Login to registry
run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.aramjonghu.dev --username aramjonghu --password-stdin run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.aramjonghu.dev --username aramjonghu --password-stdin
+25 -54
View File
@@ -1,57 +1,28 @@
FROM archlinux:latest FROM archlinux:latest
RUN pacman -Syyu --noconfirm RUN pacman -Syu --noconfirm \
&& pacman -S --needed --noconfirm \
base-devel cmake ninja clang lld nodejs tree-sitter \
jkqtplotter cmark-gfm git wayland-protocols \
qt6-base qt6-declarative qt6-shadertools qt6-5compat \
qt6-canvaspainter qt6-wayland qt5-wayland\
libqalculate pipewire aubio cava lm_sensors glib2 \
&& pacman -Scc --noconfirm
# Build toolchain RUN pacman -Syu --noconfirm \
RUN pacman -S --noconfirm \ && pacman -S --needed --noconfirm \
base-devel \ sudo meson autoconf-archive python-tqdm \
cmake \ && useradd -m builder \
ninja \ && printf '%s\n' 'builder ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/builder \
clang \ && chmod 0440 /etc/sudoers.d/builder \
lld \ && for i in 1 2 3 4 5; do \
nodejs \ rm -rf /tmp/libcava; \
tree-sitter \ if git clone --depth 1 https://aur.archlinux.org/libcava.git /tmp/libcava; then break; fi; \
jkqtplotter \ sleep 5; \
cmark-gfm \ done \
git && test -d /tmp/libcava/.git \
&& chown -R builder:builder /tmp/libcava \
# Qt6 && su builder -c "cd /tmp/libcava && makepkg -si --noconfirm" \
RUN pacman -S --noconfirm \ && rm -rf /tmp/libcava /etc/sudoers.d/builder \
qt6-base \ && userdel -r builder \
qt6-declarative \ && pacman -Scc --noconfirm
qt6-shadertools \
qt6-5compat \
qt6-canvaspainter \
hyprwayland-scanner
# Project-specific dependencies
RUN pacman -S --noconfirm \
libqalculate \
pipewire \
aubio \
cava \
lm_sensors \
glib2
# AUR: libcava (provides development headers for cava)
RUN pacman -Syu --noconfirm && \
pacman -S --needed --noconfirm \
sudo \
meson \
autoconf-archive \
python-tqdm && \
useradd -m builder && \
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
RUN for i in 1 2 3 4 5; do \
rm -rf /tmp/libcava && \
git clone --depth 1 https://aur.archlinux.org/libcava.git /tmp/libcava && \
break || sleep 5; \
done && \
test -d /tmp/libcava/.git && \
chown -R builder /tmp/libcava
RUN su builder -c "cd /tmp/libcava && makepkg -si --noconfirm" && \
rm -rf /tmp/libcava && \
userdel -r builder && \
sed -i '/^builder/d' /etc/sudoers