C++ / fmt (pull_request) Successful in 5s
JS/TS / fmt (pull_request) Successful in 12s
JS/TS / lint (pull_request) Successful in 16s
Python / lint (pull_request) Successful in 33s
Python / fmt (pull_request) Successful in 36s
Python / test (pull_request) Successful in 1m3s
Python / typecheck (pull_request) Successful in 1m21s
Rust / fmt (pull_request) Successful in 33s
C++ / build (pull_request) Successful in 2m26s
Rust / build (pull_request) Successful in 1m43s
Python / buildcheck (pull_request) Successful in 2m12s
Rust / clippy (pull_request) Successful in 1m41s
C++ / clang-tidy (pull_request) Successful in 4m10s
54 lines
1.2 KiB
Docker
54 lines
1.2 KiB
Docker
FROM archlinux:latest
|
|
|
|
RUN pacman -Syu --noconfirm
|
|
|
|
# Build toolchain
|
|
RUN pacman -S --noconfirm \
|
|
base-devel \
|
|
cmake \
|
|
ninja \
|
|
clang \
|
|
lld \
|
|
nodejs \
|
|
git
|
|
|
|
# Qt6
|
|
RUN pacman -S --noconfirm \
|
|
qt6-base \
|
|
qt6-declarative \
|
|
qt6-shadertools \
|
|
qt6-5compat \
|
|
qt6-canvaspainter
|
|
|
|
# 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
|