name: fetch upstream mod changes on: schedule: - cron: '13,43 * * * *' workflow_dispatch: jobs: replace-mods: runs-on: ubuntu-latest steps: - name: Clone Gitea repo via SSH run: | git clone ssh://git@smallgit.dasguney.com:2222/skyline/balatro-mod-index.git repo - name: Clone upstream GitHub repo run: | git clone https://github.com/skyline69/balatro-mod-index.git /tmp/upstream - name: Replace mods directory run: | cd repo rm -rf mods cp -a /tmp/upstream/mods ./mods - name: Append last-updated timestamp run: | cd repo TIME_NOW=$(date +"%s") git diff -z --name-only | grep -z meta.json | while IFS='' read -r -d '' file; do jq --indent 2 '."last-updated" |= (. // '"$TIME_NOW"')' "$file" | sponge "$file" done - name: Commit and push run: | cd repo git config user.name 'jim[bot]' git config user.email 'jim[bot]@users.noreply.github.com' git config lfs.locksverify false git add mods if git commit -m "fetch upstream mod changes ($(date --utc +%Y%m%d_%H%M%SZ))"; then git push fi