@vmvarela/semantic-release-aur
v0.1.1
Published
Publish packages to Arch User Repository (AUR) during semantic-release
Readme
@vmvarela/semantic-release-aur
Publish packages to the Arch User Repository (AUR) during semantic-release.
Generates a PKGBUILD from a template in the prepare step, then pushes it
directly to the AUR via SSH in the publish step.
Usage
plugins:
- '@vmvarela/semantic-release-aur':
pkgname: my-cli
pkgbuild_template: packaging/aur/PKGBUILD.hbsConfig
| Option | Type | Required | Description |
|--------|------|----------|-------------|
| pkgname | string | yes | AUR package name |
| pkgbuild_template | string | yes | Path to Handlebars PKGBUILD template |
Template variables
The PKGBUILD template receives these Handlebars variables:
{{pkgname}}— package name from config{{version}}— release version (e.g.1.2.3){{sourceRepo}}— source repository URL (without.gitsuffix)
Example PKGBUILD.hbs:
# Maintainer: Your Name <[email protected]>
# Contributor: Your Name <[email protected]>
pkgname={{pkgname}}
pkgver={{version}}
pkgrel=1
pkgdesc="My CLI tool"
arch=('x86_64' 'aarch64')
url="{{sourceRepo}}"
license=('MIT')
depends=()
makedepends=()
provides=("${pkgname}")
conflicts=("${pkgname}")
source_x86_64=("${pkgname}-${pkgver}-x86_64-unknown-linux-gnu.tar.gz::${url}/releases/download/v${pkgver}/${pkgname}-x86_64-unknown-linux-gnu.tar.gz")
source_aarch64=("${pkgname}-${pkgver}-aarch64-unknown-linux-gnu.tar.gz::${url}/releases/download/v${pkgver}/${pkgname}-aarch64-unknown-linux-gnu.tar.gz")
sha256sums_x86_64=('SKIP')
sha256sums_aarch64=('SKIP')
package() {
install -Dm755 "${srcdir}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
}Requirements
GH_TOKENorGITHUB_TOKENenvironment variable setAUR_SSH_KEYenvironment variable — SSH private key with push access to the AUR packagesemantic-release^24- Node >= 24
