#!/usr/bin/env bash # Prints the ids of games whose folder changed, one per line. # changed-games.sh BASE_REF HEAD_REF games changed between two commits # changed-games.sh all every game # changed-games.sh "palworld,ark-..." just these set -euo pipefail if [ "${1:-}" = "all" ]; then ls games exit 0 fi if [ $# -eq 1 ]; then tr ',' '\n' <<< "$1" | sed 's/ //g' | grep -v '^$' | while read -r id; do [ -d "games/$id" ] && echo "$id" || echo "unknown game: $id" >&2 done exit 0 fi git diff --name-only "$1" "$2" -- games/ \ | cut -d/ -f2 | sort -u \ | while read -r id; do # A deleted game has nothing to boot [ -f "games/$id/game.yaml" ] && echo "$id" done || true