actions-docker/Dockerfile

44 lines
1.7 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
RUN pacman -S --noconfirm jdk21-openjdk