mirror of
https://github.com/benbusby/farside.git
synced 2025-06-08 02:16:36 +00:00
60 lines
2 KiB
YAML
60 lines
2 KiB
YAML
on:
|
|
schedule:
|
|
- cron: '0 0 * * *'
|
|
|
|
jobs:
|
|
update-instances:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install dependencies
|
|
run: sudo apt-get install -y jq
|
|
- name: Fetch instances
|
|
run: |
|
|
function apply_update() {
|
|
mv services-tmp.json services.json
|
|
rm -f *-tmp.json
|
|
}
|
|
|
|
# ==============================================================
|
|
# Git config
|
|
# ==============================================================
|
|
git config --global user.name github-actions
|
|
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
|
|
git remote set-url origin git@github.com:benbusby/farside.git
|
|
git checkout main
|
|
|
|
# ==============================================================
|
|
# Searx update
|
|
# ==============================================================
|
|
curl -s https://searx.space/data/instances.json | \
|
|
jq '[
|
|
.instances |
|
|
to_entries[] |
|
|
select(.value.network_type == "normal") |
|
|
select(.value.http.error == null) |
|
|
select(.value.tls != null) |
|
|
.key
|
|
] | sort' > searx-tmp.json
|
|
|
|
jq --slurpfile searx searx-tmp.json \
|
|
'( .[] | select(.type == "searx") )
|
|
.instances |= $searx[0]' services.json > services-tmp.json
|
|
|
|
apply_update
|
|
|
|
# ==============================================================
|
|
# TODO: Update instances for other services
|
|
# ==============================================================
|
|
|
|
# ==============================================================
|
|
# Push changes
|
|
# ==============================================================
|
|
if [[ $(git diff-index --quiet HEAD) ]]; then
|
|
echo "No updates"
|
|
else
|
|
git add services.json
|
|
git commit -m '[CI] Auto update instances'
|
|
git push
|
|
fi
|