initial commit
This commit is contained in:
commit
dd59a3024b
2 changed files with 64 additions and 0 deletions
18
README.md
Normal file
18
README.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Test and Mirror AUR Packages
|
||||||
|
|
||||||
|
This action tests that building a package succeeds and then mirrors any changes to the AUR.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
mirror:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: https://msrd0.dev/aur/.mirror@main
|
||||||
|
with:
|
||||||
|
ssh_key: ${{secrets.ssh_key}}
|
||||||
|
```
|
46
action.yml
Normal file
46
action.yml
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
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:
|
||||||
|
- name: Pull up2date ArchLinux image
|
||||||
|
run: docker pull docker.io/library/archlinux:base-devel
|
||||||
|
|
||||||
|
- name: Test AUR package
|
||||||
|
uses: docker://docker.io/library/archlinux:base-devel
|
||||||
|
with:
|
||||||
|
entrypoint: makepkg
|
||||||
|
args: -s
|
||||||
|
|
||||||
|
- 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"
|
Loading…
Reference in a new issue