https://github.com/thewisker/aur-update-git
Github Action that updates AUR git packages on push
https://github.com/thewisker/aur-update-git
action arch aur bash git workflow yaml
Last synced: 2 months ago
JSON representation
Github Action that updates AUR git packages on push
- Host: GitHub
- URL: https://github.com/thewisker/aur-update-git
- Owner: TheWisker
- License: gpl-3.0
- Created: 2023-06-30T14:12:03.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-07-01T15:33:26.000Z (almost 3 years ago)
- Last Synced: 2025-06-22T11:47:47.542Z (about 1 year ago)
- Topics: action, arch, aur, bash, git, workflow, yaml
- Language: Shell
- Homepage:
- Size: 233 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Codeowners: .github/CODEOWNERS
- Support: SUPPORT.md
- Authors: AUTHORS.md
Awesome Lists containing this project
README
AUR Update Git
Updates AUR git packages on push
Index
[Description][description]
[Usage][usage]
[Discussions][discussions]
[Support][support]
[Contributions][contributions]
[Code of Conduct][coc]
[Author][author]
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][twin].
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 to write to the repo
```yaml
permissions:
contents: write
```
Run the job on a priviledged Arch container
On the job element:
```yaml
runs-on: ubuntu-latest
container:
image: archlinux
options: --privileged
```
Run on push
```yaml
on:
push:
branches:
- 'master'
```
**Not** really **needed** but it is **intented** to work on push
Parameters
| 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** | '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** |
| **commit_hash** | ${{ github.event.push.after \|\| 'no-hash' }} | false | Commit **hash** for commit messages |
Examples
Basic
```yaml
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
Advanced
```yaml
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: TheWisker@protonmail.com
```
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][discussion-ideas] and
ask any **questions** you have [here][discussion-questions].
Support [↑]
If you have got any problems with the action please refer to the [SUPPORT.md][support] file.
Contributions [↑]
First and foremost, all contributions are welcome!
The **steps** involved when making a contribution are **explained** in the [CONTRIBUTING.md][contributing] file.
We look forward to your contributions!
- The **contributors** list is located [here][contributors].
Code of Conduct [↑]
This project follows the Contributor Covenant Code of Conduct.
Author [↑]
TheWisker
[description]: https://github.com/TheWisker/aur-update-git#description-
[usage]: https://github.com/TheWisker/aur-update-git#usage-
[discussions]: https://github.com/TheWisker/aur-update-git#discussions-
[support]: https://github.com/TheWisker/aur-update-git#support-
[contributions]: https://github.com/TheWisker/aur-update-git#contributions-
[coc]: https://github.com/TheWisker/aur-update-git#code-of-conduct-
[author]: https://github.com/TheWisker/aur-update-git#author-
[twin]: https://github.com/TheWisker/aur-update
[discussion-ideas]: https://github.com/TheWisker/aur-update-git/discussions/categories/ideas
[discussion-questions]: https://github.com/TheWisker/aur-update-git/discussions/categories/q-a
[support]: ./SUPPORT.md
[contributing]: ./CONTRIBUTING.md
[contributors]: ./CONTRIBUTORS.md