From 1a66e930a1f74c3030a8b474f306dc976e383938 Mon Sep 17 00:00:00 2001 From: MedzikUser Date: Sat, 18 Jun 2022 18:33:00 +0200 Subject: [PATCH] feat(auto-update): add push to AUR --- .github/workflows/package-updates.yml | 7 +++++++ packages/imgurs/PKGBUILD | 25 +++++++++++++++++++++++++ packages/imgurs/built.conf | 4 ++-- scripts/auto-update.sh | 27 +++++++++++++++++++++++++++ scripts/lib/parse-conf.sh | 1 + 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 packages/imgurs/PKGBUILD diff --git a/.github/workflows/package-updates.yml b/.github/workflows/package-updates.yml index 5f4c6d30..3ff6bf4e 100644 --- a/.github/workflows/package-updates.yml +++ b/.github/workflows/package-updates.yml @@ -30,6 +30,13 @@ jobs: - name: Install python run: pacman -Syu --noconfirm python python-setuptools + - name: Setup SSH Keys + run: | + ssh-agent -a "${SSH_AUTH_SOCK}" > /dev/null + ssh-add - <<< "${{ secrets.SSH_PRIVATE_KEY }}" + env: + SSH_AUTH_SOCK: /tmp/ssh_agent.sock + - name: Auto Update run: ./scripts/auto-update.sh env: diff --git a/packages/imgurs/PKGBUILD b/packages/imgurs/PKGBUILD new file mode 100644 index 00000000..afd14487 --- /dev/null +++ b/packages/imgurs/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: MedzikUser +pkgname='imgurs' +pkgver="0.8.1" +pkgrel=1 +pkgdesc='CLI for a Imgur API written in Rust' +arch=('x86_64') +url="https://github.com/MedzikUser/imgurs" +license=('BSD3') +makedepends=('cargo') +optdepends=('libnotify: Notification support' + 'xsel: Clipboard support' + 'xclip: Clipboard support') +source=("${url}/archive/v${pkgver}.tar.gz") +sha256sums=('SKIP') + +build() { + cd "${pkgname}-${pkgver}" + cargo build --release --locked +} + +package() { + cd "${pkgname}-${pkgver}" + install -Dm 755 target/release/${pkgname} "${pkgdir}/usr/bin/${pkgname}" + install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/packages/imgurs/built.conf b/packages/imgurs/built.conf index dd7649c7..1f0f94e1 100644 --- a/packages/imgurs/built.conf +++ b/packages/imgurs/built.conf @@ -1,2 +1,2 @@ -AUR_NAME="imgurs" -AUR_UPDATED="1655500162" +GITHUB_REPO="MedzikUser/imgurs" +AUR_PUSH="imgurs" diff --git a/scripts/auto-update.sh b/scripts/auto-update.sh index 12efbaa7..037f257a 100755 --- a/scripts/auto-update.sh +++ b/scripts/auto-update.sh @@ -7,6 +7,9 @@ SCRIPT_DIR="$(realpath "$(dirname "$0")")" SRC_DIR="$(realpath "$(dirname "${SCRIPT_DIR}")")" +TMP_DIR="$(mktemp -d -t medzik-aur-XXXX)" + +mkdir "${TMP_DIR}/aur" source "${SCRIPT_DIR}/lib/parse-conf.sh" @@ -131,6 +134,30 @@ update-package() { echo "[i] Updated '${pkgname}' to '${latest_version}'" + if [ -n "${AUR_PUSH}" ] + then + git clone "ssh://aur@aur.archlinux.org/${AUR_PUSH}.git" "${TMP_DIR}/aur/${AUR_PUSH}" + + cd "${TMP_DIR}/aur/${AUR_PUSH}" + + # delete old files + rm -rf * + + # copy new files + cp -r "${pkgdir}/*" . + + # generate .SRCINFO + makepkg --printsrcinfo > .SRCINFO + + # delete built config + rm -rf 'built.conf' + + # commit and push package to AUR + git add . + git commit -m "upgpkg: '${pkgname}' to '${latest_version}'" + git push + fi + return 0 fi diff --git a/scripts/lib/parse-conf.sh b/scripts/lib/parse-conf.sh index c2ddc6e0..2e850a99 100755 --- a/scripts/lib/parse-conf.sh +++ b/scripts/lib/parse-conf.sh @@ -6,6 +6,7 @@ parse-conf() { echo "local AUR_NAME=${AUR_NAME}" echo "local AUR_PKGBASE=${AUR_PKGBASE}" echo "local AUR_UPDATED=${AUR_UPDATED}" + echo "local AUR_PUSH=${AUR_UPDATED}" echo "local GITHUB_REPO=${GITHUB_REPO}" echo "local GITHUB_TAG=${GITHUB_TAG}" echo "local NPM=${NPM}"