diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-12-27 16:31:58 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-12-27 16:31:58 -0500 |
commit | eae0fbe2031f085f3ce1809b3c055ef99a7e75e2 (patch) | |
tree | a9700621856c8ed89741c2b240627296d83b150a | |
parent | ba0f4703f6e051a5bddc809e4b7a9771a87bd0c8 (diff) |
Add Alpine build
-rw-r--r-- | .builds/alpine.yml | 76 | ||||
-rw-r--r-- | .builds/archlinux.yml (renamed from .build.yml) | 0 |
2 files changed, 76 insertions, 0 deletions
diff --git a/.builds/alpine.yml b/.builds/alpine.yml new file mode 100644 index 0000000..e5c07c2 --- /dev/null +++ b/.builds/alpine.yml @@ -0,0 +1,76 @@ +image: alpine/edge +repositories: + sr.ht: > + https://mirror.sr.ht/alpine/sr.ht/ + https://mirror.sr.ht/alpine/sr.ht/alpine%40sr.ht.rsa.pub + alpine@sr.ht.rsa.pub +packages: + - rsync + - xz +sources: + - https://git.sr.ht/~sircmpwn/man.sr.ht + - https://git.sr.ht/~sircmpwn/sr.ht-apkbuilds +environment: + project: man.sr.ht + repo_server: deploy@mirror.sr.ht + repo_path: /var/www/mirror.sr.ht/alpine/sr.ht/x86_64 + master: man.sr.ht +secrets: + - fa00a8d3-7b63-42d5-8060-3bb31c3e3018 # ssh deploy key + - d0adc1d4-af78-4852-920f-1134392f5d10 # package signing key +tasks: + - archive: | + cd ${project} + pkgver=$(git describe --abbrev=0) + if ! git describe --exact-match HEAD + then + cdate=$(git show -s -1 --format='%ci' HEAD) + cdate=$(echo "$cdate" | cut -d' ' -f1 | sed -e 's/-//g') + pkgver="${pkgver}_git${cdate}" + fi + echo "pkgver=$pkgver" >> ~/.buildenv + git archive --prefix=${project}-$pkgver/ HEAD | xz \ + > ~/sr.ht-apkbuilds/sr.ht/${project}/${project}-$pkgver.tar.xz + - package: | + cd sr.ht-apkbuilds/sr.ht/${project} + echo 'PACKAGER_PRIVKEY="/home/build/.abuild/alpine@sr.ht.rsa"' >> \ + ~/.abuild/abuild.conf + prev_pkgver=$(apk search -x ${project} | cut -d '-' -f3-) + prev_pkgrel=$(printf "%s" "$prev_pkgver" | cut -d'-' -f2 | cut -c2-) + prev_pkgver=$(printf "%s" "$prev_pkgver" | cut -d'-' -f1) + if [ "$prev_pkgver" = "$pkgver" ] + then + pkgrel=$(($prev_pkgrel + 1)) + else + pkgrel=1 + fi + sed -e "s/pkgver=.*/pkgver=$pkgver/" -i APKBUILD + sed -e "s/pkgrel=.*/pkgrel=$pkgrel/" -i APKBUILD + sed -e "s?http://git.sr.ht/.*/snapshot/??g" -i APKBUILD + cat APKBUILD + echo "pkgrel=$pkgrel" >> ~/.buildenv + abuild checksum + abuild -r + cd ~/${project} + git describe --exact-match HEAD || complete-build + - publish: | + cd ~/packages/sr.ht/x86_64 + sshopts="-o StrictHostKeyChecking=no" + set -u + ssh $sshopts $repo_server rm -f $repo_path/${project}'*.apk' + rsync --blocking-io \ + -rPe "ssh $sshopts" *.apk $repo_server:$repo_path/ + ssh $sshopts $repo_server find $repo_path -type f -name '*.apk' -print0 | + ssh $sshopts $repo_server xargs -0 apk index \ + --rewrite-arch x86_64 \ + -x $repo_path/APKINDEX.tar.gz \ + -o $repo_path/APKINDEX.unsigned.tar.gz + rsync --blocking-io -rPe "ssh $sshopts" \ + $repo_server:$repo_path/APKINDEX.unsigned.tar.gz APKINDEX.tar.gz + abuild-sign -k ~/.abuild/alpine@sr.ht.rsa APKINDEX.tar.gz + rsync --blocking-io -rPe "ssh $sshopts" \ + APKINDEX.tar.gz $repo_server:$repo_path/ + - deploy: | + sshopts="-o StrictHostKeyChecking=no" + ssh $sshopts deploy@$master doas apk upgrade -U + ssh $sshopts deploy@$master doas service man.sr.ht restart diff --git a/.build.yml b/.builds/archlinux.yml index 8b14449..8b14449 100644 --- a/.build.yml +++ b/.builds/archlinux.yml |