-
Notifications
You must be signed in to change notification settings - Fork 173
86 lines (71 loc) · 3.03 KB
/
HitButton_iso_ci_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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# performs CI builds using compose.py from
# https://github.com/CleverRaven/Cataclysm-DDA
#
# This action is triggered by any PR against the master branch as well
# as on any push to the master branch itself
# that changes any file in gfx/HitButton_iso folder
name: HitButton iso composer
env:
TILESET: HitButton_iso
COMPOSE_ARGS: --use-all
BUILD_DIR: build
on:
push:
branches:
- master
paths:
- 'gfx/HitButton_iso/**'
- '.github/workflows/HitButton_ci_build.yml'
pull_request:
branches:
- master
paths:
- 'gfx/HitButton_iso/**'
- '.github/workflows/HitButton_ci_build.yml'
jobs:
build:
name: CI Build
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: musl python3 python3-pip libvips42
# re-installing libvips; caching it won't set it up the way we need it
# still cache it because we'll make it work somehow
- run: sudo apt-get install libvips42
- run: pip3 install pyvips
- name: Checkout Code
uses: actions/checkout@v3
- name: Build
id: build
run: |
mkdir "$BUILD_DIR"
wget -q -P "$BUILD_DIR" https://raw.githubusercontent.com/CleverRaven/Cataclysm-DDA/master/tools/gfx_tools/compose.py \
|| echo "Error: Failed to get compose.py"
python3 "$BUILD_DIR/compose.py" --feedback CONCISE --loglevel INFO $COMPOSE_ARGS "gfx/$TILESET" "$BUILD_DIR"
[ -f "gfx/$TILESET/fallback.png" ] && cp "gfx/$TILESET/fallback.png" "$BUILD_DIR/"
artifact_name="$TILESET-dev-git-${GITHUB_SHA::7}"
mkdir "$artifact_name"
mv "${BUILD_DIR}"/*.png "$artifact_name"
cp "$BUILD_DIR/tile_config.json" "$artifact_name"
cp "gfx/$TILESET/tileset.txt" "$artifact_name"
echo "ARTIFACT-NAME=$artifact_name" >> $GITHUB_OUTPUT
- name: Upload Artifacts
uses: actions/[email protected]
with:
name: ${{ steps.build.outputs.ARTIFACT-NAME }}
path: ${{ steps.build.outputs.ARTIFACT-NAME }}
- name: Compare IDs with ${{ github.base_ref }}
id: compare
if: github.base_ref
run: |
echo "Switching to the target branch ${{ github.base_ref }} to get differences between ID lists"
git fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +${{ github.base_ref }}
git checkout origin/${{ github.base_ref }}
mkdir "$BUILD_DIR/base_json/"
python3 "$BUILD_DIR/compose.py" $COMPOSE_ARGS --only-json "gfx/$TILESET" "$BUILD_DIR/base_json/"
wget -q -P "$BUILD_DIR" https://raw.githubusercontent.com/CleverRaven/Cataclysm-DDA/master/tools/gfx_tools/list_tileset_ids.py \
|| echo "Error: Failed to get list_tileset_ids.py"
echo -e "\nDifferences in IDs:"
(diff -u0 <(python3 "$BUILD_DIR/list_tileset_ids.py" "$BUILD_DIR/base_json/") <(python3 "$BUILD_DIR/list_tileset_ids.py" "$BUILD_DIR/")) | tail -n +3