summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-01-29 15:30:03 -0500
committerDrew DeVault <sir@cmpwn.com>2019-01-29 15:30:03 -0500
commita0d2553797fc12290249b5077b1bb1c1092e20b5 (patch)
tree75bd6e24f3bf1b868d5a2e6e3f07384bdac4f45a
parentcd52c31f565bdf04a380854a048f766e8ac6448b (diff)
Update builds to use pkgkit
-rw-r--r--.builds/alpine.yml72
-rw-r--r--.builds/archlinux.yml48
2 files changed, 33 insertions, 87 deletions
diff --git a/.builds/alpine.yml b/.builds/alpine.yml
index e5c07c2..719a59e 100644
--- a/.builds/alpine.yml
+++ b/.builds/alpine.yml
@@ -6,71 +6,39 @@ repositories:
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
+ remote: deploy@mirror.sr.ht
+ remote_path: /var/www/mirror.sr.ht/alpine
+ master: deploy@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
+ pkgver=$(~/sr.ht-apkbuilds/pkgkit pkgver)
echo "pkgver=$pkgver" >> ~/.buildenv
- git archive --prefix=${project}-$pkgver/ HEAD | xz \
- > ~/sr.ht-apkbuilds/sr.ht/${project}/${project}-$pkgver.tar.xz
+ git archive \
+ -o ~/sr.ht-apkbuilds/sr.ht/${project}/${project}-$pkgver.tar.gz \
+ --prefix=${project}-$pkgver/ HEAD
+ - pkgkit: |
+ cd sr.ht-apkbuilds
+ ./pkgkit add-repo -s sr.ht ~/.abuild/alpine@sr.ht.rsa
+ cd sr.ht/$project
+ sed -e 's?::https://git.sr.ht/.*archive.*??g' -i APKBUILD
- 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}
+ cd sr.ht-apkbuilds
+ ./pkgkit build -cuv "$pkgver" "$project"
+ 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/
+ cd sr.ht-apkbuilds
+ echo "StrictHostKeyChecking=no" >> ~/.ssh/config
+ ./pkgkit upload "$remote" "$remote_path" "$project"
- deploy: |
- sshopts="-o StrictHostKeyChecking=no"
- ssh $sshopts deploy@$master doas apk upgrade -U
- ssh $sshopts deploy@$master doas service man.sr.ht restart
+ ssh $master doas apk upgrade -U
+ ssh $master doas service $project restart
diff --git a/.builds/archlinux.yml b/.builds/archlinux.yml
index 3909b10..69e3dd9 100644
--- a/.builds/archlinux.yml
+++ b/.builds/archlinux.yml
@@ -2,53 +2,31 @@ image: archlinux
repositories:
sr.ht: https://mirror.sr.ht/archlinux/sr.ht/#1ED4E14494433AE3FD302CAB74B4BCCEA60D0437
packages:
- - sassc
- - python-setuptools
- - python-srht
- - python-pygit2
- - python-celery
- - python-redis
- - python-flask-login
- rsync
- pacman-contrib
sources:
- https://git.sr.ht/~sircmpwn/man.sr.ht
- https://git.sr.ht/~sircmpwn/sr.ht-pkgbuilds
environment:
- repo_server: deploy@mirror.sr.ht
- repo_path: /var/www/mirror.sr.ht/archlinux/sr.ht/
+ project: man.sr.ht
+ remote: deploy@mirror.sr.ht
+ remote_path: /var/www/mirror.sr.ht/archlinux
secrets:
- fa00a8d3-7b63-42d5-8060-3bb31c3e3018 # ssh deploy key
- 3e65a1a8-a20f-4f6b-a452-df2ac398bc1e # package signing key
tasks:
- - build: |
- cd man.sr.ht
- ./setup.py build
- archive: |
- cd man.sr.ht
+ cd ${project}
pkgver=$(git describe | sed -e 's/-/_/g')
echo "pkgver=$pkgver" >> ~/.buildenv
- git archive -o ~/sr.ht-pkgbuilds/man.sr.ht/man.sr.ht-$pkgver.tar.xz \
- --prefix=man.sr.ht-$pkgver/ HEAD
+ git archive -o ~/sr.ht-pkgbuilds/$project/$project-$pkgver.tar.gz \
+ --prefix=$project-$pkgver/ HEAD
- package: |
- cd sr.ht-pkgbuilds/man.sr.ht
- pkgrel=$(pacman -Si man.sr.ht | grep Version | cut -d'-' -f2)
- pkgrel=$(expr $pkgrel + 1)
- sed -e "s/pkgver=.*/pkgver=$pkgver/" -i PKGBUILD
- sed -e "s/pkgrel=.*/pkgrel=$pkgrel/" -i PKGBUILD
- echo "pkgrel=$pkgrel" >> ~/.buildenv
- updpkgsums
- makepkg --config ../makepkg.conf -s --noconfirm
- cd ~/man.sr.ht
+ cd sr.ht-pkgbuilds
+ ./pkgkit build -cuv "$pkgver" $project
+ cd ~/$project
git describe --exact-match HEAD || complete-build
- - deploy: |
- cd sr.ht-pkgbuilds/man.sr.ht
- sshopts="-o StrictHostKeyChecking=no" # TODO: remove this when builds run on a tty
- rsync --blocking-io \
- --rsh="ssh $sshopts" -rP *.pkg.tar.xz{,.sig} $repo_server:$repo_path/
- ssh $sshopts $repo_server repo-add -n -R \
- $repo_path/sr.ht.db.tar.gz \
- $repo_path/man.sr.ht-$pkgver-$pkgrel-any.pkg.tar.xz
- ssh $sshopts $repo_server repo-add -n -R \
- $repo_path/sr.ht.db.tar.gz \
- $repo_path/man.sr.ht-images-$pkgver-$pkgrel-any.pkg.tar.xz
+ - publish: |
+ cd sr.ht-pkgbuilds
+ echo "StrictHostKeyChecking=no" >> ~/.ssh/config
+ ./pkgkit upload "$remote" "$remote_path" sr.ht $project