GitHub Actions to publish AUR package.
Required AUR package name.
Required (unless asset_dir is specified) Path to PKGBUILD file. This file is often generated by prior steps.
Optional Newline-separated glob patterns for additional files to be added to the AUR repository. Glob patterns will be expanded by bash when copying the files to the repository.
Note that assets only ever adds or overwrites files; files removed from assets are not deleted
from the AUR repository. Use asset_dir if you need removals to propagate.
Optional Path to a directory whose contents mirror the AUR repository.
Unlike assets, asset_dir makes the AUR repository an exact mirror of the given directory: files that are
tracked in the AUR repository but absent from asset_dir are deleted, so removals propagate. A
.gitignore inside asset_dir is respected when deciding which files to copy.
Because asset_dir is the full source of truth for the repository, it must contain the PKGBUILD and is
mutually exclusive with both pkgbuild and assets (specifying it together with either is an error).
Note
Copying is performed by rsync whose filter syntax only approximates .gitignore semantics (e.g. !
negation and some ** anchoring nuances differ), so very complex .gitignore files may not be honoured
exactly.
Optional Update checksums using updpkgsums.
Optional Check that PKGBUILD could be built.
Optional Command line flags for makepkg to build the package (if test is enabled). The default flags are --clean --cleanbuild --nodeps.
Optional A line of commands to execute after processing the package.
Required The username to use when creating the new commit.
Required The email to use when creating the new commit.
Required Your private key with access to AUR package.
Optional Commit message to use when creating the new commit.
Optional Allow empty commits, i.e. commits with no change. The default value is false.
Optional Use --force when push to the AUR. The default value is false.
Optional Comma-separated list of types to use when adding aur.archlinux.org to known hosts.
name: aur-publish
on:
push:
tags:
- '*'
jobs:
aur-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Generate PKGBUILD
run: bash ./generate-pkgbuild.bash
- name: Publish AUR package
uses: KSXGitHub/github-actions-deploy-aur@<TAG>
with:
pkgname: my-awesome-package
pkgbuild: ./PKGBUILD
commit_username: ${{ secrets.AUR_USERNAME }}
commit_email: ${{ secrets.AUR_EMAIL }}
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
commit_message: Update AUR package
ssh_keyscan_types: rsa,ecdsa,ed25519Note
Replace <TAG> in the above code snippet with a tag of this repo.
Tip
To create secrets (such as secrets.AUR_USERNAME, secrets.AUR_EMAIL, and secrets.AUR_SSH_PRIVATE_KEY above), go to $YOUR_GITHUB_REPO_URL/settings/secrets. Read this for more information.
Tip
This action does not generate PKGBUILD for you, you must generate it yourself (e.g. by using actions before this action).
sane-fmt has a workflow that builds and uploads executables to GitHub Release then generates PKGBUILD files for and use this very action to update aur/sane-fmt and aur/sane-fmt-bin.
pretty-exec has a workflow that builds and uploads executables to GitHub Release then generates PKGBUILD files for and use this very action to update aur/pretty-exec and aur/pretty-exec-bin.
build-fs-tree has a workflow that builds and uploads executables to GitHub Release then generates PKGBUILD files for and use this very action to update aur/build-fs-tree and aur/build-fs-tree-bin.
strip-ansi-cli has a workflow that builds and uploads executables to GitHub Release then generates PKGBUILD files for and use this very action to update aur/strip-ansi and aur/strip-ansi-bin.
parallel-disk-usage has a workflow that builds and uploads executables to GitHub Release then generates PKGBUILD files for and use this very action to update aur/parallel-disk-usage and aur/parallel-disk-usage-bin.