GitHub Action
Archlinux PKGBUILD
Build the specified PKGBUILD for archlinux
Note: The containerized build does not modify the permissions of the github workspace, since that breaks any following actions. Instead of playing around with and reverting permissions, the build works in an isolated environment and thus any additional environments that would otherwise end up in the normal github workspace need to be explicitly provided as in the example below.
Required The relative location of PKGBUILD root.
Required Username for the AUR maintainer (used for commit).
Required Email for the AUR maintainer (used for commit).
Required Private key with access to AUR package.
Optional Commit message for the AUR package. Default upgpkg: <pkgname> <pkgver>-<pkgrel>
Optional Used for testing the action. To do a full commit, set this to false. Default true
.
Optional �Whether this is a python format package using pypi files as source. Based on the PKGBUILD documentations these should be prefixed with "python-", and this action needs that to be true. If that is not the case python_pkg_name
may be used to override the basename of the python package on pypi. If neither is true or valid, then the pypi version check is simply ignored. On its own changes no behaviour without the pypi flags. Default false
.
Optional Override for the python package name. See is_python_pkg
for use-case.
Optional Whether to upgrade a python package using the latest release on pypi. Requires "is_python_pkg" to be true. It uses the pypi rss feed to read the latest release. Default false
.
Optional Whether to upgrade a python package using the latest release (including prereleases - a, b, rc & dev) on pypi. Requires "is_python_pkg" to be true. Overrides the "use_pypi_release_version" regardless of value. It uses the pypi rss feed to read the latest release. Default false
.
Optional Used for specifying a custom build command in-case the standard command is undesirable. The normal command used is makepkg --config /home/builder/.makepkg.conf -cfC --needed --nodeps --noconfirm
. Note: --nodeps is used since all dependencies are installed before a build is attempted.
The location of the built package. The key name is an incrementing integer for each package in the PKGBUILD. If the package is a split package, then there will be multiple keys starting with "pkg0". For a single package, only 1 key will be present as "pkg0".
The "$pkgver-$pkgrel" of the built package. The key name is an incrementing integer for each package in the PKGBUILD. If the package is a split package, then there will be multiple keys starting with "ver0". For a single package, only 1 key will be present as "ver0".
- name: Build
id: build
uses: samarthj/arch-pkgbuild-action@v1
with:
pkgbuild_root: path/to/pkgbuild_folder
aur_username: Your Name
aur_email: email@example.com
aur_ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
dry_run: false
custom_build_cmd: makepkg --config /home/builder/.makepkg.conf -cfC --needed --nodeps --noconfirm
# example for specifying paths for builds like golang, that require custom locations for their paths. Basically just add like normal envs you would anywhere else.
env:
GOPATH: /home/builder/.local/share/go
GOCACHE: /home/builder/.cache/go
- Using the prebuilt arch image from - https://github.com/greyltc-org/docker-archlinux-aur that incorporates paru as the aur helper.