55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
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: |
|
|
rm -rf /tmp/upstream
|
|
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 config --global credential.helper store
|
|
|
|
printf "http://skyline:%s@smallgit.dasguney.com:3000\n" "$GITEA_TOKEN" \
|
|
> ~/.git-credentials
|
|
|
|
git remote set-url origin \
|
|
http://smallgit.dasguney.com:3000/skyline/balatro-mod-index.git
|
|
|
|
git add mods
|
|
if git commit -m "fetch upstream mod changes ($(date --utc +%Y%m%d_%H%M%SZ))"; then
|
|
git push origin main
|
|
fi
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.GT_TOKEN }} |