mirror of
https://github.com/crunchy-labs/crunchy-cli.git
synced 2026-01-21 04:02:00 -06:00
Add ci to publish AUR package on release
This commit is contained in:
parent
700b041f9a
commit
ae6b58c0cd
3 changed files with 142 additions and 0 deletions
39
.github/scripts/PKGBUILD.binary
vendored
Normal file
39
.github/scripts/PKGBUILD.binary
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
# Maintainer: ByteDream
|
||||||
|
pkgname=crunchy-cli-bin
|
||||||
|
pkgdesc="Command-line downloader for Crunchyroll"
|
||||||
|
arch=('x86_64')
|
||||||
|
url="https://github.com/crunchy-labs/crunchy-cli"
|
||||||
|
license=('MIT')
|
||||||
|
|
||||||
|
pkgver=$CI_PKG_VERSION
|
||||||
|
pkgrel=1
|
||||||
|
|
||||||
|
depends=('ffmpeg')
|
||||||
|
source=(
|
||||||
|
"crunchy-cli::https://github.com/crunchy-labs/crunchy-cli/releases/download/v${pkgver}/crunchy-cli-v${pkgver}-linux-x86_64"
|
||||||
|
"manpages.zip::https://github.com/crunchy-labs/crunchy-cli/releases/download/v${pkgver}/crunchy-cli-v${pkgver}-manpages.zip"
|
||||||
|
"completions.zip::https://github.com/crunchy-labs/crunchy-cli/releases/download/v${pkgver}/crunchy-cli-v${pkgver}-completions.zip"
|
||||||
|
"LICENSE::https://raw.githubusercontent.com/crunchy-labs/crunchy-cli/v${pkgver}/LICENSE"
|
||||||
|
)
|
||||||
|
noextract=("manpages.zip" "completions.zip")
|
||||||
|
sha256sums=('$CI_SHA_SUM' '$CI_MANPAGES_SHA_SUM' '$CI_COMPLETIONS_SHA_SUM' '$CI_LICENSE_SHA_SUM')
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$srcdir"
|
||||||
|
|
||||||
|
# all files in manpages.zip and completions.zip are stored in root of the archive, makepkg extracts them all to $srcdir
|
||||||
|
# which makes it pretty messy. so the extraction is done manually to keep the content of $srcdir structured
|
||||||
|
mkdir manpages completions
|
||||||
|
cd manpages
|
||||||
|
bsdtar -xf ../manpages.zip
|
||||||
|
cd ../completions
|
||||||
|
bsdtar -xf ../completions.zip
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
install -Dm755 crunchy-cli $pkgdir/usr/bin/crunchy-cli
|
||||||
|
install -Dm644 manpages/* -t $pkgdir/usr/share/man/man1
|
||||||
|
install -Dm644 completions/crunchy-cli.bash $pkgdir/usr/share/bash-completions/completions/crunchy-cli
|
||||||
|
install -Dm644 completions/_crunchy-cli $pkgdir/usr/share/zsh/site-functions/_crunchy-cli
|
||||||
|
install -Dm644 completions/crunchy-cli.fish $pkgdir/usr/share/fish/vendor_completions.d/crunchy-cli.fish
|
||||||
|
install -Dm644 LICENSE $pkgdir/usr/share/licenses/crunchy-cli/LICENSE
|
||||||
|
}
|
||||||
34
.github/scripts/PKGBUILD.source
vendored
Normal file
34
.github/scripts/PKGBUILD.source
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
# Maintainer: ByteDream
|
||||||
|
pkgname=crunchy-cli
|
||||||
|
pkgdesc="Command-line downloader for Crunchyroll"
|
||||||
|
arch=('x86_64' 'i686' 'arm' 'armv6h' 'armv7h' 'aarch64')
|
||||||
|
url="https://github.com/crunchy-labs/crunchy-cli"
|
||||||
|
license=('MIT')
|
||||||
|
|
||||||
|
pkgver=$CI_PKG_VERSION
|
||||||
|
pkgrel=1
|
||||||
|
|
||||||
|
depends=('ffmpeg' 'openssl')
|
||||||
|
makedepends=('cargo')
|
||||||
|
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/crunchy-labs/crunchy-cli/archive/refs/tags/v${pkgver}.tar.gz")
|
||||||
|
sha256sums=('$CI_SHA_SUM')
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$srcdir/${pkgname}-$pkgver"
|
||||||
|
|
||||||
|
export CARGO_HOME="$srcdir/cargo-home"
|
||||||
|
export RUSTUP_TOOLCHAIN=stable
|
||||||
|
|
||||||
|
cargo build --release --no-default-features --features openssl
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$srcdir/${pkgname}-$pkgver"
|
||||||
|
|
||||||
|
install -Dm755 target/release/crunchy-cli $pkgdir/usr/bin/crunchy-cli
|
||||||
|
install -Dm644 target/release/manpages/* $pkgdir/usr/share/man/man1
|
||||||
|
install -Dm644 target/release/completions/crunchy-cli.bash $pkgdir/usr/share/bash-completions/completions/crunchy-cli
|
||||||
|
install -Dm644 target/release/completions/_crunchy-cli $pkgdir/usr/share/zsh/site-functions/_crunchy-cli
|
||||||
|
install -Dm644 target/release/completions/crunchy-cli.fish $pkgdir/usr/share/fish/vendor_completions.d/crunchy-cli.fish
|
||||||
|
install -Dm644 LICENSE $pkgdir/usr/share/licenses/crunchy-cli/LICENSE
|
||||||
|
}
|
||||||
69
.github/workflows/publish.yml
vendored
Normal file
69
.github/workflows/publish.yml
vendored
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
name: publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- v*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish-aur:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Get version
|
||||||
|
run: echo "RELEASE_VERSION=$(echo ${{ github.ref_name }} | cut -c 2-)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Generate crunchy-cli sha sum
|
||||||
|
run: |
|
||||||
|
curl -LO https://github.com/crunchy-labs/crunchy-cli/archive/refs/tags/${{ github.ref_name }}.tar.gz
|
||||||
|
echo "CRUNCHY_CLI_SHA256=$(sha256sum ${{ github.ref_name }}.tar.gz | cut -f 1 -d ' ')" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Generate crunchy-cli PKGBUILD
|
||||||
|
env:
|
||||||
|
CI_PKG_VERSION: ${{ env.RELEASE_VERSION }}
|
||||||
|
CI_SHA_SUM: ${{ env.CRUNCHY_CLI_SHA256 }}
|
||||||
|
run: envsubst '$CI_PKG_VERSION,$CI_SHA_SUM' < .github/scripts/PKGBUILD.source > PKGBUILD
|
||||||
|
|
||||||
|
- name: Publish crunchy-cli to AUR
|
||||||
|
uses: KSXGitHub/github-actions-deploy-aur@2.7.0
|
||||||
|
with:
|
||||||
|
pkgname: crunchy-cli
|
||||||
|
pkgbuild: ./PKGBUILD
|
||||||
|
commit_username: release-action
|
||||||
|
commit_email: ${{ secrets.AUR_EMAIL }}
|
||||||
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||||
|
commit_message: Update to version {{ env.RELEASE_VERSION }}
|
||||||
|
test: true
|
||||||
|
|
||||||
|
- name: Generate crunchy-cli-bin sha sums
|
||||||
|
run: |
|
||||||
|
curl -LO https://github.com/crunchy-labs/crunchy-cli/releases/download/${{ github.ref_name }}/crunchy-cli-${{ github.ref_name }}-x86_64-linux
|
||||||
|
curl -LO https://github.com/crunchy-labs/crunchy-cli/releases/download/${{ github.ref_name }}/crunchy-cli-${{ github.ref_name }}-completions.zip
|
||||||
|
curl -LO https://github.com/crunchy-labs/crunchy-cli/releases/download/${{ github.ref_name }}/crunchy-cli-${{ github.ref_name }}-manpages.zip
|
||||||
|
curl -LO https://raw.githubusercontent.com/crunchy-labs/crunchy-cli/${{ github.ref_name }}/LICENSE
|
||||||
|
echo "CRUNCHY_CLI_BIN_SHA256=$(sha256sum crunchy-cli-${{ github.ref_name }}-x86_64-linux | cut -f 1 -d ' ')" >> $GITHUB_ENV
|
||||||
|
echo "CRUNCHY_CLI_BIN_COMPLETIONS_SHA256=$(sha256sum crunchy-cli-${{ github.ref_name }}-completions.zip | cut -f 1 -d ' ')" >> $GITHUB_ENV
|
||||||
|
echo "CRUNCHY_CLI_BIN_MANPAGES_SHA256=$(sha256sum crunchy-cli-${{ github.ref_name }}-manpages.zip | cut -f 1 -d ' ')" >> $GITHUB_ENV
|
||||||
|
echo "CRUNCHY_CLI_BIN_LICENSE_SHA256=$(sha256sum LICENSE | cut -f 1 -d ' ')" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Generate crunchy-cli-bin PKGBUILD
|
||||||
|
env:
|
||||||
|
CI_PKG_VERSION: ${{ env.RELEASE_VERSION }}
|
||||||
|
CI_SHA_SUM: ${{ env.CRUNCHY_CLI_BIN_SHA256 }}
|
||||||
|
CI_MANPAGES_SHA_SUM: ${{ env.CRUNCHY_CLI_BIN_MANPAGES_SHA256 }}
|
||||||
|
CI_COMPLETIONS_SHA_SUM: ${{ env.CRUNCHY_CLI_BIN_COMPLETIONS_SHA256 }}
|
||||||
|
CI_LICENSE_SHA_SUM: ${{ env.CRUNCHY_CLI_BIN_LICENSE_SHA256 }}
|
||||||
|
run: envsubst '$CI_PKG_VERSION,$CI_SHA_SUM,$CI_COMPLETIONS_SHA_SUM,$CI_MANPAGES_SHA_SUM' < .github/scripts/PKGBUILD.binary > PKGBUILD
|
||||||
|
|
||||||
|
- name: Publish crunchy-cli-bin to AUR
|
||||||
|
uses: KSXGitHub/github-actions-deploy-aur@2.7.0
|
||||||
|
with:
|
||||||
|
pkgname: crunchy-cli-bin
|
||||||
|
pkgbuild: ./PKGBUILD
|
||||||
|
commit_username: release-action
|
||||||
|
commit_email: ${{ secrets.AUR_EMAIL }}
|
||||||
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||||
|
commit_message: Update to version {{ env.RELEASE_VERSION }}
|
||||||
|
test: true
|
||||||
Loading…
Add table
Add a link
Reference in a new issue