Skip to content
Merged
50 changes: 50 additions & 0 deletions .github/workflows/update-servers-list.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Update servers list
on:
workflow_dispatch:
schedule:
- cron: "11 3 1 */2 *" # Run at 03:11 on the 1st of every 2nd month
jobs:
update-servers-list:
if: github.repository == 'qdm12/gluetun'
runs-on: ubuntu-latest
permissions:
actions: read
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v6

- name: Setup Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod

- name: Update servers list
run: |
go run ./cmd/gluetun/main.go update -all -maintainer -minratio 0.2

- name: Check for changes
run: |
git diff --exit-code internal/storage/servers.json >/dev/null

- name: Check no other file changes
run: |
! git diff --exit-code ':!internal/storage/servers.json' >/dev/null

- name: Validate json
run: |
cat internal/storage/servers.json | jq -e >/dev/null

- name: Create Pull Request
id: createpr
uses: peter-evans/create-pull-request@v7
with:
branch: bot/update-servers-list
base: master
delete-branch: true

- name: Merge Pull Request
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr merge ${{ steps.createpr.outputs.pull-request-number }} --auto -m -d