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