tzpfms/.build.yml
2020-12-04 00:48:40 +01:00

58 lines
2.0 KiB
YAML

image: debian/sid
secrets:
- ccb6777e-650b-4fa2-87e1-e2342f5bb605 # tzpfms SSH key
- 513a97a6-300c-4749-93a7-7816b2c4f41d # tzpfms auth token
packages:
- clang
- llvm-dev
- pkg-config
- libtss2-dev
- libtspi-dev
- ronn
- shellcheck
- curl
tasks:
- get-zfs: |
sudo sed -i 's/main/main contrib non-free/' /etc/apt/sources.list
sudo apt update
sudo apt install -y libzfslinux-dev
- build-gcc: |
cd tzpfms
make
find out/ -maxdepth 1 -type f -exec readelf -d {} +
make clean
- build-clang: |
cd tzpfms
CC=clang CXX=clang++ make
find out/ -maxdepth 1 -type f -exec readelf -d {} +
- manpages: |
git -C tzpfms/ worktree add ../tzpfms-man man
cd tzpfms-man
git ls-tree -z --name-only HEAD | xargs -0 rm -r
cp -pr ../tzpfms/out/man/* .
git add .
git config user.email "nabijaczleweli/autouploader@nabijaczleweli.xyz"
git config user.name "наб autouploader"
git commit -m "Manpage update by job $JOB_ID" || exit 0
git remote set-url origin 'git@git.sr.ht:~nabijaczleweli/tzpfms'
ssh-keyscan git.sr.ht > ~/.ssh/known_hosts
git push
- release: |
tag="$(git -C tzpfms describe --abbrev=0 --tags)"
[ "$(git -C tzpfms rev-list -n1 "$tag")" = "$(git -C tzpfms rev-list -n1 HEAD)" ] || exit 0
mkdir "tzpfms-$tag-bin-amd64"
mv tzpfms/out/zfs-tpm* "tzpfms-$tag-bin-amd64"
mv tzpfms/out/dracut "tzpfms-$tag-dracut"
mv tzpfms/out/initramfs-tools "tzpfms-$tag-initramfs-tools"
mv tzpfms/out/man "tzpfms-$tag-man"
for s in bin-amd64 dracut initramfs-tools man; do
tar -caf "tzpfms-$tag-$s.tbz2" "tzpfms-$tag-$s"
done
set +x # Avoid echoing the token
for f in *.tbz2; do
curl -H "Authorization: Bearer $(cat ~/.release-token)" \
-XPOST \
-F "file=@$f" \
"https://git.sr.ht/api/repos/tzpfms/artifacts/$tag"
done