Github Actions Deploy Aur
GitHub Actions to publish AUR package
#Publish AUR package
GitHub Actions to publish AUR package.
#Inputs
#pkgname
Required AUR package name.
#pkgbuild
Required (unless asset_dir is specified) Path to PKGBUILD file. This file is often generated by prior steps.
#assets
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.
#asset_dir
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
rsyncwhose filter syntax only approximates.gitignoresemantics (e.g.!negation and some**anchoring nuances differ), so very complex.gitignorefiles may not be honoured exactly.
#updpkgsums
Optional Update checksums using updpkgsums.
#test
Optional Check that PKGBUILD could be built.
#test_flags
Optional Command line flags for makepkg to build the package (if test is enabled). The default flags are --clean --cleanbuild --nodeps.
#post_process
Optional A line of commands to execute after processing the package.
#commit_username
Required The username to use when creating the new commit.
#commit_email
Required The email to use when creating the new commit.
#ssh_private_key
Required Your private key with access to AUR package.
#commit_message
Optional Commit message to use when creating the new commit.
#allow_empty_commits
Optional Allow empty commits, i.e. commits with no change. The default value is false.
#force_push
Optional Use --force when push to the AUR. The default value is false.
#ssh_keyscan_types
Optional Comma-separated list of types to use when adding aur.archlinux.org to known hosts.
#Example usage
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,ed25519
[!NOTE] 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, andsecrets.AUR_SSH_PRIVATE_KEYabove), 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).
#Real-world applications
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.