Add upstream sync workflow (Gitea)
This commit is contained in:
48
.github/workflows/fetch-upstream-mods.yml
vendored
Normal file
48
.github/workflows/fetch-upstream-mods.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
name: fetch upstream mod changes
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '13,43 * * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
replace-mods:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout current Gitea repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
|
||||
- name: Clone upstream GitHub repo
|
||||
run: |
|
||||
git clone https://github.com/skyline69/balatro-mod-index.git /tmp/upstream
|
||||
|
||||
- name: Replace mods directory
|
||||
run: |
|
||||
rm -rf mods
|
||||
cp -a /tmp/upstream/mods ./mods
|
||||
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y jq moreutils
|
||||
|
||||
- name: Append last-updated timestamp
|
||||
run: |
|
||||
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: |
|
||||
git config user.name "gitea-bot"
|
||||
git config user.email "bot@smallgit.dasguney.com"
|
||||
|
||||
git add mods
|
||||
if git commit -m "fetch upstream mod changes ($(date --utc +%Y%m%d_%H%M%SZ))"; then
|
||||
git push
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user