GitHub Action
AUR Update Git
Updates AUR git packages on push
Description [↑]
This is a Github Action that updates AUR git packages on push.
Usage [↑]
To use this GitHub Action you need to already have initialized the AUR repository and uploaded a first version.
The pkgbase must 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.
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:
push:
branches:
- 'master'
Not really needed but it is intented to work on push
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 |
'[email protected]' | 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 |
commit_hash | ${{ github.event.push.after || 'no-hash' }} | false | Commit hash for commit messages |
name: AUR Update Git
on:
push:
branches:
- 'master'
permissions:
contents: write
jobs:
aur-update-git:
runs-on: ubuntu-latest
container:
image: archlinux
options: --privileged
steps:
- name: AUR Update Git
uses: TheWisker/aur-update-git@master
with:
aur_key: ${{ secrets.AUR_KEY }}
The most basic workflow file
name: AUR Update Git
run-name: AUR package update by ${{ github.actor }} push
on:
push:
branches:
- 'master'
permissions:
contents: write
concurrency:
group: "aur"
cancel-in-progress: false
jobs:
aur-update-git:
environment:
name: aur-packages
runs-on: ubuntu-latest
container:
image: archlinux
options: --privileged
steps:
- name: AUR Update Git
uses: TheWisker/aur-update-git@master
with:
aur_key: ${{ secrets.AUR_KEY }}
username: TheWisker
email: [email protected]
Specifies a concurrency group so if it is called multiple times at once it is serialized. 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 commit. 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.