mirror of
https://git.sr.ht/~nabijaczleweli/tzpfms
synced 2025-04-17 09:42:19 +03:00
96 lines
3.6 KiB
YAML
96 lines
3.6 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
|
|
- mandoc
|
|
- shellcheck
|
|
- curl
|
|
- groff
|
|
- ghostscript
|
|
- gsfonts
|
|
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 {} +
|
|
# https://nabijaczleweli.xyz/content/blogn_t/007-groff-Tps-cyrillic-et-al.html
|
|
- prep-fonts: |
|
|
mkdir /tmp/devps; cd /tmp/devps
|
|
for f in {C,T}{R,B,I,BI}; do
|
|
in="$(awk '$1 == "internalname" {print $2; exit}' "/usr/share/groff/current/font/devps/$f")";
|
|
echo $f: $in;
|
|
src="$(awk -v cur="/$in" '
|
|
$1 ~ /^\// && $2 ~ /^[\/\(]/ {
|
|
if($2 ~ /^\//)
|
|
aliases[$1] = $2;
|
|
else
|
|
paths[$1] = $2;
|
|
}
|
|
END {
|
|
while(cur in aliases)
|
|
cur = aliases[cur];
|
|
if(cur in paths) {
|
|
sub(/^\(/, "", paths[cur]);
|
|
sub(/(pfb)?\)$/, "", paths[cur]);
|
|
print paths[cur]
|
|
} else {
|
|
print "last: " cur > "/dev/stderr";
|
|
exit 1
|
|
}
|
|
}' /var/lib/ghostscript/fonts/Fontmap)";
|
|
echo ${src}afm;
|
|
afmtodit $(expr "$f" : C > /dev/null && printf -- -n) -cmi0 \
|
|
-d /usr/share/groff/current/font/devps/DESC \
|
|
-e /usr/share/groff/current/font/devps/text.enc \
|
|
"${src}afm" /usr/share/groff/current/font/devps/generate/textmap "$f";
|
|
done
|
|
- 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 .
|
|
sed -e 's/…/.../g' $(ls *.[12345678] | awk -F. '{print $2 "\t" $1}' | sort | awk -F'\t' '{print $2 "." $1}') | groff -K utf8 -tpe -mdoc -Tps > tzpfms.ps
|
|
ps2pdf tzpfms.ps tzpfms.pdf
|
|
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 || echo HEAD~1)"
|
|
[ "$(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"
|
|
mv tzpfms-man/tzpfms.ps "tzpfms-$tag-manual.ps"
|
|
mv tzpfms-man/tzpfms.pdf "tzpfms-$tag-manual.pdf"
|
|
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 "tzpfms-$tag-manual.ps" "tzpfms-$tag-manual.pdf"; do
|
|
curl -H "Authorization: Bearer $(cat ~/.release-token)" \
|
|
-XPOST \
|
|
-F "file=@$f" \
|
|
"https://git.sr.ht/api/repos/tzpfms/artifacts/$tag"
|
|
done
|