mirror of
https://github.com/kha7iq/pingme.git
synced 2025-05-15 22:30:11 -07:00
chore: add support for publishing to aur
This commit is contained in:
parent
6429da287d
commit
551ee5fff1
23
.github/aur/pingme-bin/.SRCINFO.template
vendored
Normal file
23
.github/aur/pingme-bin/.SRCINFO.template
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
pkgbase = pingme-bin
|
||||||
|
pkgdesc = PingMe is a CLI tool which provides the ability to send messages or alerts to multiple messaging platforms & email (official binary)
|
||||||
|
pkgver = ${PKGVER}
|
||||||
|
pkgrel = ${PKGREL}
|
||||||
|
url = https://pingme.lmno.pk
|
||||||
|
arch = i686
|
||||||
|
arch = x86_64
|
||||||
|
arch = aarch64
|
||||||
|
license = MIT
|
||||||
|
optdepends = nfpm: deb and rpm packager
|
||||||
|
provides = ${_PKGNAME}
|
||||||
|
conflicts = ${_PKGNAME}
|
||||||
|
|
||||||
|
source_x86_64 = ${_PKGNAME}_${PKGVER}_linux_x86_64.tar.gz::https://github.com/kha7iq/${_PKGNAME}/releases/download/v${PKGVER}/${_PKGNAME}_linux_x86_64.tar.gz")
|
||||||
|
sha256sums_x86_64 = (${SHA256SUM_X86})
|
||||||
|
|
||||||
|
source_i686 = ${_PKGNAME}_${PKGVER}_linux_i386.tar.gz::https://github.com/kha7iq/${_PKGNAME}/releases/download/v${PKGVER}/${_PKGNAME}_linux_i386.tar.gz")
|
||||||
|
sha256sums_i686 = (${SHA256SUM_i686})
|
||||||
|
|
||||||
|
source_aarch64 = ${_PKGNAME}_${PKGVER}_linux_arm64.tar.gz::https://github.com/kha7iq/${_PKGNAME}/releases/download/v${PKGVER}/${_PKGNAME}_linux_arm64.tar.gz")
|
||||||
|
sha256sums_aarch64 = (${SHA256SUM_AARCH64})
|
||||||
|
|
||||||
|
pkgname = pingme-bin
|
34
.github/aur/pingme-bin/PKGBUILD.template
vendored
Normal file
34
.github/aur/pingme-bin/PKGBUILD.template
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Maintainer: Abdul Khaliq <a.khaliq@outlook.my>
|
||||||
|
|
||||||
|
pkgname='pingme-bin'
|
||||||
|
_pkgname="${pkgname%-bin}"
|
||||||
|
pkgver=${PKGVER}
|
||||||
|
pkgrel=${PKGREL}
|
||||||
|
pkgdesc="PingMe is a CLI tool which provides the ability to send messages or alerts to multiple messaging platforms & email. (official binary)"
|
||||||
|
url='https://pingme.lmno.pk'
|
||||||
|
arch=("i686" "x86_64" "aarch64")
|
||||||
|
license=("MIT")
|
||||||
|
provides=("${_pkgname}")
|
||||||
|
conflicts=("${_pkgname}")
|
||||||
|
|
||||||
|
depends=()
|
||||||
|
makedepends=()
|
||||||
|
optdepends=('nfpm: deb and rpm packager')
|
||||||
|
|
||||||
|
_basedownloadurl="https://github.com/kha7iq/${_pkgname}/releases/download/v${pkgver}"
|
||||||
|
|
||||||
|
source_x86_64=("${_pkgname}_${pkgver}_linux_x86_64.tar.gz::${_basedownloadurl}/${_pkgname}_linux_x86_64.tar.gz")
|
||||||
|
sha256sums_x86_64=(${SHA256SUM_X86})
|
||||||
|
|
||||||
|
source_i686=("${_pkgname}_${pkgver}_linux_i386.tar.gz::${_basedownloadurl}/${_pkgname}_linux_i386.tar.gz")
|
||||||
|
sha256sums_i686=(${SHA256SUM_i686})
|
||||||
|
|
||||||
|
source_aarch64=("${_pkgname}_${pkgver}_linux_arm64.tar.gz::${_basedownloadurl}/${_pkgname}_linux_arm64.tar.gz")
|
||||||
|
sha256sums_aarch64=(${SHA256SUM_AARCH64})
|
||||||
|
|
||||||
|
package() {
|
||||||
|
# Bin
|
||||||
|
rm -f "${pkgdir}/usr/bin/${_pkgname}"
|
||||||
|
install -Dm755 "${srcdir}/${_pkgname}" "${pkgdir}/usr/bin/${_pkgname}"
|
||||||
|
|
||||||
|
}
|
65
.github/aur/pingme-bin/publish.sh
vendored
Executable file
65
.github/aur/pingme-bin/publish.sh
vendored
Executable file
@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
WD=$(cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd)
|
||||||
|
PKGNAME=$(basename $WD)
|
||||||
|
|
||||||
|
export _PKGNAME="${PKGNAME%-bin}"
|
||||||
|
ROOT=${WD%/.github/aur/$PKGNAME}
|
||||||
|
|
||||||
|
LOCKFILE=/tmp/aur-$PKGNAME.lock
|
||||||
|
exec 100>$LOCKFILE || exit 0
|
||||||
|
flock -n 100 || exit 0
|
||||||
|
trap "rm -f $LOCKFILE" EXIT
|
||||||
|
|
||||||
|
export VERSION=$1
|
||||||
|
echo "Publishing to AUR as version ${VERSION}"
|
||||||
|
|
||||||
|
cd $WD
|
||||||
|
|
||||||
|
export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
||||||
|
|
||||||
|
if [ -z "$AUR_SSH_PRIVATE_KEY" ]
|
||||||
|
then
|
||||||
|
echo "\$AUR_SSH_PRIVATE_KEY is not set"
|
||||||
|
else
|
||||||
|
eval $(ssh-agent -s)
|
||||||
|
ssh-add <(echo "$AUR_SSH_PRIVATE_KEY")
|
||||||
|
fi
|
||||||
|
|
||||||
|
GITDIR=$(mktemp -d /tmp/aur-$PKGNAME-XXX)
|
||||||
|
trap "rm -rf $GITDIR" EXIT
|
||||||
|
git clone aur@aur.archlinux.org:$PKGNAME $GITDIR 2>&1
|
||||||
|
|
||||||
|
CURRENT_PKGVER=$(cat $GITDIR/.SRCINFO | grep pkgver | awk '{ print $3 }')
|
||||||
|
CURRENT_PKGREL=$(cat $GITDIR/.SRCINFO | grep pkgrel | awk '{ print $3 }')
|
||||||
|
|
||||||
|
export PKGVER=${VERSION/-/}
|
||||||
|
|
||||||
|
if [[ "${CURRENT_PKGVER}" == "${PKGVER}" ]]; then
|
||||||
|
export PKGREL=$((CURRENT_PKGREL+1))
|
||||||
|
else
|
||||||
|
export PKGREL=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export SHA256SUM_X86=$(curl -sL https://github.com/kha7iq/${_PKGNAME}/releases/download/v${PKGVER}/${_PKGNAME}_linux_x86_64.tar.gz | sha256sum | awk '{ print $1 }')
|
||||||
|
|
||||||
|
export SHA256SUM_i686=$(curl -sL https://github.com/kha7iq/${_PKGNAME}/releases/download/v${PKGVER}/${_PKGNAME}_linux_i386.tar.gz | sha256sum | awk '{ print $1 }')
|
||||||
|
|
||||||
|
export SHA256SUM_AARCH64=$(curl -sL https://github.com/kha7iq/$_PKGNAME/releases/download/v${PKGVER}/${_PKGNAME}_linux_arm64.tar.gz | sha256sum | awk '{ print $1 }')
|
||||||
|
|
||||||
|
envsubst '$PKGVER $PKGREL $_PKGNAME $SHA256SUM_X86 $SHA256SUM_i686 $SHA256SUM_AARCH64' < .SRCINFO.template > $GITDIR/.SRCINFO
|
||||||
|
envsubst '$PKGVER $PKGREL $SHA256SUM_X86 $SHA256SUM_i686 $SHA256SUM_AARCH64' < PKGBUILD.template > $GITDIR/PKGBUILD
|
||||||
|
|
||||||
|
cd $GITDIR
|
||||||
|
git config user.name "GoReleaser"
|
||||||
|
git config user.email "a.khaliq@outlook.my"
|
||||||
|
git add -A
|
||||||
|
if [ -z "$(git status --porcelain)" ]; then
|
||||||
|
echo "No changes."
|
||||||
|
else
|
||||||
|
git commit -m "Updated to version v${PKGVER} release ${PKGREL}"
|
||||||
|
git push origin master
|
||||||
|
fi
|
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@ -60,6 +60,7 @@ jobs:
|
|||||||
args: release --rm-dist
|
args: release --rm-dist
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||||
|
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||||
|
|
||||||
-
|
-
|
||||||
name: Notify on failure
|
name: Notify on failure
|
||||||
|
@ -100,3 +100,10 @@ dockers:
|
|||||||
- "--label=org.opencontainers.image.version={{.Version}}"
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
||||||
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
||||||
- "--platform=linux/amd64"
|
- "--platform=linux/amd64"
|
||||||
|
|
||||||
|
publishers:
|
||||||
|
- name: aur-pingme
|
||||||
|
env:
|
||||||
|
- AUR_SSH_PRIVATE_KEY={{ .Env.AUR_SSH_PRIVATE_KEY }}
|
||||||
|
cmd: |
|
||||||
|
.github/aur/pingme-bin/publish.sh {{ .Version }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user