50 lines
1.9 KiB
Docker
50 lines
1.9 KiB
Docker
####################
|
|
## Base container ##
|
|
####################
|
|
FROM archlinux:base-devel AS base
|
|
|
|
LABEL org.opencontainers.image.title="actions-docker"
|
|
LABEL org.opencontainers.image.description="StarOpenSource's Docker image for CI/CD pipelines."
|
|
LABEL org.opencontainers.image.authors="JeremyStar™ <jeremystartm@staropensource.de> (@jeremystartm)"
|
|
LABEL org.opencontainers.image.url="https://git.staropensource.de/StarOpenSource/actions-docker/src/branch/develop/README.md"
|
|
LABEL org.opencontainers.image.documentation=""
|
|
LABEL org.opencontainers.image.source="https://git.staropensource.de/StarOpenSource/actions-docker"
|
|
LABEL org.opencontainers.image.licenses="AGPL-3.0-or-later"
|
|
LABEL org.opencontainers.image.version=""
|
|
LABEL org.opencontainers.image.revision=""
|
|
LABEL org.opencontainers.image.created=""
|
|
|
|
# Tweak pacman.conf
|
|
RUN sed 's/\#ParallelDownloads = 5/ParallelDownloads = 15/g' -i /etc/pacman.conf
|
|
|
|
# Initialize pacman keyring
|
|
RUN pacman-key --init
|
|
RUN pacman-key --populate
|
|
|
|
# Update system
|
|
RUN pacman -Syu --noconfirm
|
|
|
|
# Add Chaotic-AUR repository
|
|
RUN pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com; \
|
|
pacman-key --lsign-key 3056513887B78AEB; \
|
|
pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst'; \
|
|
pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'; \
|
|
echo -e "[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist" >> /etc/pacman.conf; \
|
|
pacman -Sy
|
|
|
|
# Install packages required for actions to function properly
|
|
RUN pacman -S --noconfirm nodejs git
|
|
|
|
####################
|
|
## Java container ##
|
|
####################
|
|
FROM base AS java
|
|
|
|
# Install OpenJDK 21, various JVM languages & Gradle
|
|
RUN pacman -S --noconfirm jdk21-openjdk
|
|
|
|
# Install various JVM languages
|
|
RUN pacman -S --noconfirm kotlin groovy scala
|
|
|
|
# Install build tools
|
|
RUN pacman -S --noconfirm gradle maven
|