mirror of
https://github.com/arcan1s/ahriman.git
synced 2026-05-23 23:26:14 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b94cba4d25 | |||
| dbe7d208ac | |||
| d7a61f089d | |||
| 418018bfb5 | |||
| 7183be6fab | |||
| cdfac85ce5 | |||
| 3da8fb889d | |||
| 12ef8fd6e6 | |||
| 18fe38c30b |
@@ -26,6 +26,10 @@ jobs:
|
||||
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Set image date
|
||||
id: args
|
||||
run: echo "::set-output name=date::$(date -d yesterday +'%Y-%m-%d')"
|
||||
|
||||
- name: Login to docker hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
@@ -53,6 +57,8 @@ jobs:
|
||||
- name: Build an image and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
build-args: |
|
||||
BUILD_DATE=${{ steps.args.outputs.date }}
|
||||
file: docker/Dockerfile
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
|
||||
+5
-3
@@ -1,13 +1,15 @@
|
||||
# build image
|
||||
FROM archlinux:base AS build
|
||||
|
||||
ARG BUILD_DATE
|
||||
|
||||
# install environment
|
||||
## create build user
|
||||
RUN useradd -m -d "/home/build" -s "/usr/bin/nologin" build
|
||||
|
||||
## extract container creation date and set mirror for this timestamp, set PKGEXT and refresh database next
|
||||
RUN echo "Server = https://archive.archlinux.org/repos/$(stat -c "%y" "/var/lib/pacman" | cut -d " " -f 1 | sed "s,-,/,g")/\$repo/os/\$arch" > "/etc/pacman.d/mirrorlist" && \
|
||||
pacman -Sy
|
||||
RUN echo "Server = https://archive.archlinux.org/repos/${BUILD_DATE//-/\/}/\$repo/os/\$arch" > "/etc/pacman.d/mirrorlist" && \
|
||||
pacman -Syyuu --noconfirm
|
||||
## setup package cache
|
||||
RUN runuser -u build -- mkdir "/tmp/pkg" && \
|
||||
echo "PKGDEST=/tmp/pkg" >> "/etc/makepkg.conf" && \
|
||||
@@ -108,7 +110,7 @@ RUN cp "/etc/pacman.d/mirrorlist" "/etc/pacman.d/mirrorlist.orig" && \
|
||||
echo "Server = file:///var/cache/pacman/pkg" > "/etc/pacman.d/mirrorlist" && \
|
||||
cp "/etc/pacman.conf" "/etc/pacman.conf.orig" && \
|
||||
sed -i "s/SigLevel *=.*/SigLevel = Optional/g" "/etc/pacman.conf" && \
|
||||
pacman -Sy
|
||||
pacman -Syyuu --noconfirm
|
||||
## install package and its optional dependencies
|
||||
RUN pacman -S --noconfirm ahriman
|
||||
RUN pacman -S --noconfirm --asdeps \
|
||||
|
||||
@@ -7,8 +7,10 @@ for PACKAGE in "$@"; do
|
||||
# clone the remote source
|
||||
git clone https://aur.archlinux.org/"$PACKAGE".git "$BUILD_DIR"
|
||||
cd "$BUILD_DIR"
|
||||
# FIXME monkey patch PKGBUILD for python
|
||||
sed -i 's/python -m build/python -m build --skip-dependency-check/g' "PKGBUILD"
|
||||
# checkout to the image date
|
||||
git checkout "$(git rev-list -1 --before="$(stat -c "%y" "/var/lib/pacman" | cut -d " " -f 1)" master)"
|
||||
git checkout "$(git rev-list -1 --before="$BUILD_DATE" master)"
|
||||
# build and install the package
|
||||
makepkg --nocheck --noconfirm --install --rmdeps --syncdeps
|
||||
cd /
|
||||
|
||||
Reference in New Issue
Block a user