commit 72e921cb94b667642067dbb76eade256da11b796 Author: ytshih Date: Tue Jul 8 23:46:45 2025 +0800 Initial commit diff --git a/action.yaml b/action.yaml new file mode 100644 index 0000000..ec680f0 --- /dev/null +++ b/action.yaml @@ -0,0 +1,65 @@ +--- +name: "Arch Build" +description: "Build and push package to MinIO" +author: Yi-Ting Shih + +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"