uxn/.build.yml

46 lines
2.1 KiB
YAML

image: debian/oldstable
packages:
- curl
- build-essential
- libsdl2-dev
- rsync
oauth: pages.sr.ht/PAGES:RW
environment:
SITE: rabbits.srht.site
SSH_HOST_KEYS: |
[w1.uxn-build.ald.nu]:2222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP+IYCB4JrKklFjWSMRkPBTqUjBqUuhlDQy6/X3l8xj5
[m1.uxn-build.ald.nu]:2223 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvWVqlHh3XQ5ziEbT55K896/mW2BVDdkU6hWgIfU9md
secrets:
- 138ad607-a4ec-4d74-88a1-8f3be2ba2d03
tasks:
- prepare: |
rm -f out
mkdir -p out
umask 077
mkdir -p ~/.ssh
printf '%s\n' "${SSH_HOST_KEYS}" > ~/.ssh/known_hosts
printf 'User build\nStrictHostKeyChecking yes\nCheckHostIP no\nHost win\nHostName w1.uxn-build.ald.nu\nPort 2222\nHost mac\nHostName m1.uxn-build.ald.nu\nPort 2223\n' > ~/.ssh/config
- build-linux: |
cd uxn
sed -i -e 's/.*Running.*/exit/' build.sh
./build.sh
mv bin uxn
tar -czf ../out/uxn-linux-amd64.tar.gz uxn
cd ..
- build-windows: |
ssh win "rm -f uxn-windows-64bit.zip; export PATH=\"\${PATH}:/mingw64/bin\"; set -ex; cd uxn; git fetch; git checkout .; git clean -xfd; git checkout $(cd uxn && git rev-parse HEAD); sed -i -e 's/.*Running.*/exit/' build.sh; MSYSTEM=MSYS ./build.sh; mv bin uxn; zip -qr ../uxn-windows-64bit.zip uxn"
rsync win:uxn-windows-64bit.zip out/
- build-macos: |
ssh mac "rm -f uxn-macos.tar.gz; export PATH=\"\${PATH}:/usr/local/bin\"; set -ex; cd uxn; git fetch; git checkout .; git clean -xfd; git checkout $(cd uxn && git rev-parse HEAD); sed -i -e 's/.*Running.*/exit/' build.sh; ./build.sh; mv bin uxn; tar -zcf ../uxn-macos.tar.gz uxn"
rsync mac:uxn-macos.tar.gz out/
- upload: |
ls -l out
tar -czf out.tar.gz -C out uxn-linux-amd64.tar.gz uxn-windows-64bit.zip uxn-macos.tar.gz
acurl() {
set +x
curl -H "Authorization: Bearer ${OAUTH2_TOKEN}" "${@}"
set -x
}
acurl -f "https://pages.sr.ht/publish/${SITE}" -Fcontent=@out.tar.gz
acurl -f "https://pages.sr.ht/publish/${SITE}" -Fcontent=@out.tar.gz -Fprotocol=GEMINI