Initial commit
This commit is contained in:
65
action.yaml
Normal file
65
action.yaml
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
name: "Arch Build"
|
||||
description: "Build and push package to MinIO"
|
||||
author: Yi-Ting Shih <ytshih@it.cs.nycu.edu.tw>
|
||||
|
||||
inputs:
|
||||
context:
|
||||
description: "The context of the build environment"
|
||||
required: false
|
||||
default: .
|
||||
repo-name:
|
||||
description: "The repo name to be pushed to"
|
||||
required: false
|
||||
default: custom
|
||||
minio-endpoint:
|
||||
description: "MinIO endpoint"
|
||||
required: false
|
||||
default: https://minio.konchin.com
|
||||
minio-bucket:
|
||||
description: "MinIO bucket"
|
||||
required: false
|
||||
default: archrepo
|
||||
minio-accesskey:
|
||||
description: "MinIO access key"
|
||||
required: true
|
||||
minio-secretkey:
|
||||
description: "MinIO secret key"
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4.2.2
|
||||
|
||||
- name: Build package
|
||||
run: |
|
||||
chown -R builder .
|
||||
sudo -u builder makepkg -sc --needed --noconfirm
|
||||
|
||||
- name: Setup MinIO
|
||||
run: |
|
||||
mcli alias set m "${{ env.MINIO_ENDPOINT }}" \
|
||||
"${{ env.MINIO_ACCESSKEY }}" "${{ env.MINIO_SECRETKEY }}"
|
||||
echo "Set endpoint to ${{ env.MINIO_ENDPOINT }}"
|
||||
|
||||
- name: Copy repo db from MinIO
|
||||
run: |
|
||||
mkdir repo
|
||||
mcli cp "m/${{ env.MINIO_BUCKET }}/${{ env.REPO_NAME }}.db" "repo/${{ env.REPO_NAME }}.db.tar.zst"
|
||||
mcli cp "m/${{ env.MINIO_BUCKET }}/${{ env.REPO_NAME }}.files" "repo/${{ env.REPO_NAME }}.files.tar.zst"
|
||||
echo "Copy ${{ env.REPO_NAME }}.db and ${{ env.REPO_NAME }}.files from MinIO"
|
||||
|
||||
- name: Add pkgs to repo db
|
||||
run: |
|
||||
repo-add "repo/${{ env.REPO_NAME }}.db.tar.zst" *.pkg.tar.zst
|
||||
mv *.pkg.tar.zst repo
|
||||
echo "Add $(ls *.pkg.tar.zst) to repo"
|
||||
|
||||
- name: Update repo to MinIO
|
||||
run: |
|
||||
mcli mv repo/${{ env.REPO_NAME }}.db.tar.zst "m/${{ env.MINIO_BUCKET }}/${{ env.REPO_NAME }}.db"
|
||||
mcli mv repo/${{ env.REPO_NAME }}.files.tar.zst "m/${{ env.MINIO_BUCKET }}/${{ env.REPO_NAME }}.files"
|
||||
mcli mv repo/*.pkg.tar.zst "m/${{ env.MINIO_BUCKET }}"
|
||||
echo "Update ${{ env.REPO_NAME }}.db adn ${{ env.REPO_NAME }}.files to MinIO"
|
||||
Reference in New Issue
Block a user