70 lines
2.2 KiB
YAML
70 lines
2.2 KiB
YAML
---
|
|
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: http://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: Update packages
|
|
run: |
|
|
sudo pacman -Syu --needed --noconfirm
|
|
|
|
- name: Build package
|
|
run: |
|
|
cd "${{ inputs.context }}"
|
|
makepkg -sc --needed --noconfirm
|
|
|
|
- name: Setup MinIO
|
|
run: |
|
|
mcli alias set m "${{ inputs.minio-endpoint }}" \
|
|
"${{ inputs.minio-accesskey }}" "${{ inputs.minio-secretkey }}"
|
|
echo "Set endpoint to ${{ inputs.minio-endpoint }}"
|
|
|
|
- name: Copy repo db from MinIO
|
|
run: |
|
|
mkdir repo
|
|
mcli cp "m/${{ inputs.minio-bucket }}/${{ inputs.repo-name }}.db" "repo/${{ inputs.repo-name }}.db.tar.zst"
|
|
mcli cp "m/${{ inputs.minio-bucket }}/${{ inputs.repo-name }}.files" "repo/${{ inputs.repo-name }}.files.tar.zst"
|
|
echo "Copy ${{ inputs.repo-name }}.db and ${{ inputs.repo-name }}.files from MinIO"
|
|
|
|
- name: Add pkgs to repo db
|
|
run: |
|
|
repo-add "repo/${{ inputs.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/${{ inputs.repo-name }}.db.tar.zst "m/${{ inputs.minio-bucket }}/${{ inputs.repo-name }}.db"
|
|
mcli mv repo/${{ inputs.repo-name }}.files.tar.zst "m/${{ inputs.minio-bucket }}/${{ inputs.repo-name }}.files"
|
|
mcli mv repo/*.pkg.tar.zst "m/${{ inputs.minio-bucket }}"
|
|
echo "Update ${{ inputs.repo-name }}.db adn ${{ inputs.repo-name }}.files to MinIO"
|