initial commit
All checks were successful
Release / release-image (push) Successful in 2m41s

This commit is contained in:
2024-10-18 15:44:19 +00:00
commit d3a361e268
4 changed files with 104 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
name: Release
on: [push]
jobs:
release-image:
runs-on: imgbuilder
env:
CONTAINER_REGISTRY: gitea.konchin.com
GITEA_TAG: latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up rootca
run: |
echo "${{ vars.ROOTCA }}" | tee rootca.pem
- name: Set up Docker BuildX
uses: docker/setup-buildx-action@v3
with:
config-inline: |
debug = true
[registry."${{ env.CONTAINER_REGISTRY }}"]
ca = ["rootca.pem"]
- name: Login
uses: docker/login-action@v3
with:
registry: ${{ env.CONTAINER_REGISTRY }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Setup env
run: |
echo "GITEA_REPO=${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]' >> $GITHUB_ENV
echo "GITEA_REF_NAME=${GITHUB_REF_NAME}" | tr '[:upper:]' '[:lower:]' >> $GITHUB_ENV
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
push: true
tags: |
${{ env.CONTAINER_REGISTRY }}/${{ env.GITEA_REPO }}:${{ env.GITEA_REF_NAME }}
${{ env.CONTAINER_REGISTRY }}/${{ env.GITEA_REPO }}:${{ env.GITEA_TAG }}

21
Dockerfile Normal file
View File

@@ -0,0 +1,21 @@
FROM archlinux:base-devel
RUN pacman-key --init && pacman-key --populate
RUN pacman -Syu --needed --noconfirm minio-client
RUN echo '%wheel ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers
RUN useradd -G wheel -d /build builder
RUN mkdir /script
COPY run.sh /script
ENV MINIO_HOST="minio.konchin.com"
ENV MINIO_PORT="9000"
ENV MINIO_BUCKET="archrepo"
ENV MINIO_ACCESSKEY=""
ENV MINIO_SECRETKEY=""
ENV REPO_NAME="custom"
WORKDIR /build
ENTRYPOINT ["/usr/bin/env"]
CMD ["/script/run.sh"]

10
README.md Normal file
View File

@@ -0,0 +1,10 @@
# Image - archmakepkg
## Environment variables
- MINIO_HOST
- MINIO_PORT
- MINIO_ACCESSKEY
- MINIO_SECRETKEY
- MINIO_BUCKET
- REPO_NAME

21
run.sh Normal file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/env bash
echo 'Build package'
chown -R builder .
sudo -u builder makepkg -sc --needed --noconfirm
echo 'Setup minio alias'
mcli alias set m "http://${MINIO_HOST}:${MINIO_PORT}" \
"$MINIO_ACCESSKEY" "$MINIO_SECRETKEY"
mkdir repo
echo 'Copy repo db from minio'
mcli cp "m/${MINIO_BUCKET}/${REPO_NAME}.db*" repo
mcli cp "m/${MINIO_BUCKET}/${REPO_NAME}.files" repo
echo 'Add pkgs to repo db'
repo-add -n "repo/${REPO_NAME}.db.tar.zst" /build/*.pkg.tar.zst
mv /build/*.pkg.tar.zst repo
echo 'Update repo to minio'
mcli mv repo/* "m/${MINIO_BUCKET}"