.mirror/action.yml

46 lines
1.7 KiB
YAML
Raw Normal View History

2023-03-25 12:25:57 +00:00
name: 'Mirror'
description: 'Test and Mirror AUR Packages'
inputs:
pkgbase:
description: 'The pkgbase from the AUR.'
required: false
ssh_key:
description: 'The base64-part of the private key to upload to the AUR.'
required: true
runs:
using: "composite"
steps:
2023-03-25 12:25:57 +00:00
- name: Test AUR package
uses: docker://docker.io/library/archlinux:base-devel
with:
2023-03-25 12:39:10 +00:00
entrypoint: bash
2023-03-25 12:40:12 +00:00
args: |
2023-03-25 12:43:01 +00:00
-c 'useradd -m user && echo "user ALL=(ALL:ALL) NOPASSWD: ALL" >/etc/sudoers.d/user && chmod 777 . && sudo -u user -- makepkg -s'
2023-03-25 12:25:57 +00:00
- name: Ensure .SRCINFO is up to date
uses: docker://docker.io/library/archlinux:base-devel
with:
entrypoint: bash
args: -c 'makepkg --printsrcinfo >>.SRCINFO.new && diff -u .SRCINFO{,.new}'
- name: Mirror to the AUR
run: |
printf '%s' '${{inputs.ssh_key}}' >ssh_key
echo 'aur.archlinux.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEuBKrPzbawxA/k2g6NcyV5jmqwJ2s+zpgZGZ7tpLIcN' >>~/.ssh/known_hosts
pkgbase='${{inputs.pkgbase}}'
[ -n "$pkgbase" ] || pkgbase="$( (. PKGBUILD && printf '%s' "$pkgbase") )"
[ -n "$pkgbase" ] || pkgbase="$( (. PKGBUILD && printf '%s' "$pkgname") )"
[ -n "$pkgbase" ] || \
( echo "Failed to determine pkgbase"; exit 1 )
[ "${{github.ref_name}}" == "main" ] || [ "${{github.ref_name}}" == "master" ] || \
( echo "Git ref is neither main nor master, aborting"; exit 1 ) || exit 0
export GIT_SSH_COMMAND='ssh -i ssh_key -o IdentitiesOnly=yes'
git remote add aur "ssh://aur@aur.archlinux.org/$pkgbase.git"
git push aur "${{github.ref_name}}:master"