This commit is contained in:
52
.gitea/workflows/image.yml
Normal file
52
.gitea/workflows/image.yml
Normal 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
21
Dockerfile
Normal 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
10
README.md
Normal 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
21
run.sh
Normal 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}"
|
||||||
Reference in New Issue
Block a user