-
Notifications
You must be signed in to change notification settings - Fork 5
/
.build.yml
52 lines (47 loc) · 2.56 KB
/
.build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Build manifest for sourcehut (https://builds.sr.ht/~gullik/cerulean)
image: debian/bookworm
environment:
COMMAND_TIMEOUT: 3600
GODOT_VERSION: 4.2.2
GODOT_LINUX_64_ZIP_SHA512: 4c0294f437b97cf14f848d921ed028cb6e100ebbfcf6480f2d50292d001221cf29cda73f0a96a8c0e80b145b65cdbf7e422252dbbe17e79d883753e500306276
KUBO_VERSION: 0.28.0
KUBO_LINUX_64_TAR_GZ_SHA512: 16cb446873513c19fbcfad76486aafeb6863834d490e5010278713344bc6c257e4cc9c017d4bbbdc7f3740d91011e77c5c1d5c175390ebef9ac7de87721f9915
packages:
- curl git make tar unzip
sources:
- https://git.sr.ht/~gullik/cerulean
tasks:
- download_kubo: |
timeout --verbose "${COMMAND_TIMEOUT}" curl --silent --remote-name "https://dist.ipfs.tech/kubo/v${KUBO_VERSION}/kubo_v${KUBO_VERSION}_linux-amd64.tar.gz"
echo "${KUBO_LINUX_64_TAR_GZ_SHA512} kubo_v${KUBO_VERSION}_linux-amd64.tar.gz" | sha512sum --check
tar -xvzf "kubo_v${KUBO_VERSION}_linux-amd64.tar.gz" kubo/ipfs
[ -x kubo/ipfs ]
- sync_assets: |
timeout --verbose "${COMMAND_TIMEOUT}" kubo/ipfs daemon --init --init-profile server > /dev/null 2>&1 &
timeout --verbose "${COMMAND_TIMEOUT}" sh -c 'while ! kubo/ipfs swarm peers > /dev/null 2>&1; do sleep 1; done'
cd cerulean
git config --local include.path ../.gitconfig
rm -rf assets
IPFS=../kubo/ipfs timeout --verbose "${COMMAND_TIMEOUT}" git reset --hard
kill "$!"
- download_godot: |
timeout --verbose "${COMMAND_TIMEOUT}" curl --silent --remote-name --location "https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip"
echo "${GODOT_LINUX_64_ZIP_SHA512} Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip" | sha512sum --check
unzip "Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip" "Godot_v${GODOT_VERSION}-stable_linux.x86_64"
[ -x "Godot_v${GODOT_VERSION}-stable_linux.x86_64" ]
- set_version: |
cd cerulean
sed -i "s/const GIT_HASH: String = \"\"/const GIT_HASH: String = \"$(git rev-parse HEAD)\"/g" src/constants/version.gd
- run_unit_tests: |
cd cerulean
timeout --verbose "${COMMAND_TIMEOUT}" sh -c "make GODOT=../Godot_v${GODOT_VERSION}-stable_linux.x86_64 check_scripts"
timeout --verbose "${COMMAND_TIMEOUT}" sh -c "make GODOT=../Godot_v${GODOT_VERSION}-stable_linux.x86_64 test"
- export_game_pack: |
cd cerulean
timeout --verbose "${COMMAND_TIMEOUT}" sh -c "make GODOT=../Godot_v${GODOT_VERSION}-stable_linux.x86_64 cerulean.pck"
cd ..
mv cerulean/cerulean.pck .
sha512sum cerulean.pck | tee cerulean.pck.sha512
artifacts:
- cerulean.pck
- cerulean.pck.sha512