Updates AUR packages on release
Description [↑]
This is a Github Action that updates AUR git packages on release.
Usage [↑]
To use this GitHub Action you need to already have initialized the AUR repository and uploaded a first version.
The pkgbase must not end in -git
for this action to work and to differentiate it from the release action which you can maintain with this action's twin AUR Update Git.
Once that has been taken care of, you need to create a folder in your GitHub repository were the AUR packages will be stored and updated (by default /aur). Inside said folder, you must create a folder named exactly as the pkgbase for each package you intend to maintain. Then, optionally, fill each package's folder with it's AUR content (PKGBUILD .SRCINFO ...).
After all this preparations have been done it is only left to create the workflow .yml
file under .github/workflows/
.
The .yml
file needs certain fields to have specific values to work. These are:
permissions:
contents: write
On the job element:
runs-on: ubuntu-latest
container:
image: archlinux
options: --privileged
on:
release:
types: [published]
Not really needed but it is intented to work on release
Inputs | Default | Required | Description |
---|---|---|---|
aur_key | no default | true | AUR ssh private key |
ref | 'master' | false | Checkout reference |
username | ${{ github.actor || 'github-actions-bot'}} | false | Git username to use |
'github-actions-bot@noreply.com' | false | Git email to use | |
repo | ${{ github.repository }} | false | Repository: user/repo_name |
repo_name | ${{ github.event.repository.name }} | false | Repository name |
aur_folder | ./aur | false | AUR files folder |
tag_name | ${{ github.event.release.tag_name || 'no-tag' }} | false | Release tag name for commit messages |
name: AUR Update
on:
release:
types: [published]
permissions:
contents: write
jobs:
aur-update-git:
runs-on: ubuntu-latest
container:
image: archlinux
options: --privileged
steps:
- name: AUR Update
uses: TheWisker/aur-update@master
with:
aur_key: ${{ secrets.AUR_KEY }}
The most basic workflow file
name: AUR Update
run-name: AUR package update by ${{ github.actor }} release
on:
release:
types: [published]
permissions:
contents: write
concurrency:
group: "aur"
cancel-in-progress: true
jobs:
aur-update-git:
environment:
name: aur-packages
runs-on: ubuntu-latest
container:
image: archlinux
options: --privileged
steps:
- name: AUR Update
uses: TheWisker/aur-update@master
with:
aur_key: ${{ secrets.AUR_KEY }}
username: TheWisker
email: TheWisker@protonmail.com
Specifies a concurrency group so if it is called multiple times at once it only runs the last one. It also specifies an environment to deploy to so you can, for example, add a delay to said environment so you can cancel the AUR update if there has been a mistake in the release. The environment can also be used to only allow access to the AUR_KEY secret to it to minimize security risks.
Discussions [↑]
Feel free to give any ideas for future improvements here and ask any questions you have here.
Support [↑]
If you have got any problems with the action please refer to the SUPPORT.md file.
Contributions [↑]
First and foremost, all contributions are welcome! The steps involved when making a contribution are explained in the CONTRIBUTING.md file. We look forward to your contributions!
- The contributors list is located here.
Code of Conduct [↑]
This project follows the Contributor Covenant Code of Conduct.