-
Notifications
You must be signed in to change notification settings - Fork 173
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: reusable workflows for tileset composers (#2106)
reduce the amount of code needed to set up new tilesets this also makes it easier to maintain all the workflows, they now share a file where all the logic and commands are stored Co-authored-by: casswedson <[email protected]>
- Loading branch information
1 parent
2d0a96b
commit 6efa3d2
Showing
17 changed files
with
136 additions
and
1,092 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,5 @@ | ||
# 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/ASCII_Overmap folder | ||
name: ASCII_Overmap composer | ||
|
||
env: | ||
TILESET: ASCII_Overmap | ||
COMPOSE_ARGS: --use-all | ||
BUILD_DIR: build | ||
|
||
on: | ||
push: | ||
branches: | ||
|
@@ -27,60 +16,7 @@ on: | |
|
||
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 update; 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 | ||
uses: ./.github/workflows/composer_template.yml | ||
with: | ||
tileset: ASCII_Overmap | ||
composer-args: --use-all |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,5 @@ | ||
# 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/Altica folder | ||
name: Altica composer | ||
|
||
env: | ||
TILESET: Altica | ||
COMPOSE_ARGS: --use-all --obsolete-fillers | ||
BUILD_DIR: build | ||
|
||
on: | ||
push: | ||
branches: | ||
|
@@ -29,61 +18,7 @@ on: | |
|
||
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 update; 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" | ||
cp "gfx/$TILESET/layering.json" "$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 | ||
uses: ./.github/workflows/composer_template.yml | ||
with: | ||
tileset: Altica | ||
composer-args: --use-all --obsolete-fillers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,5 @@ | ||
# 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/UltimateCataclysm, gfx/MShockXotto+/ or gfx/Chibi_Ultica/ folders | ||
name: Chibi_Ultica composer | ||
|
||
env: | ||
TILESET: Chibi_Ultica | ||
COMPOSE_ARGS: --use-all | ||
BUILD_DIR: build | ||
|
||
on: | ||
push: | ||
branches: | ||
|
@@ -53,61 +42,7 @@ on: | |
|
||
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 update; 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" | ||
cp "gfx/$TILESET/layering.json" "$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 | ||
uses: ./.github/workflows/composer_template.yml | ||
with: | ||
tileset: Chibi_Ultica | ||
composer-args: --use-all |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,5 @@ | ||
# 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: | ||
|
@@ -27,60 +16,7 @@ on: | |
|
||
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 update; 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 | ||
uses: ./.github/workflows/composer_template.yml | ||
with: | ||
tileset: HitButton_iso | ||
composer-args: --use-all |
Oops, something went wrong.