mirror of
https://github.com/qdm12/gluetun.git
synced 2026-05-07 12:30:11 +02:00
99 lines
2.8 KiB
YAML
99 lines
2.8 KiB
YAML
name: Update servers list
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
provider:
|
|
description: "VPN Provider to update"
|
|
required: true
|
|
default: "all"
|
|
type: choice
|
|
options:
|
|
- all
|
|
- airvpn
|
|
- cyberghost
|
|
- expressvpn
|
|
- fastestvpn
|
|
- giganews
|
|
- hidemyass
|
|
- ipvanish
|
|
- ivpn
|
|
- mullvad
|
|
- nordvpn
|
|
- perfect privacy
|
|
- privado
|
|
- private internet access
|
|
- privatevpn
|
|
- protonvpn
|
|
- purevpn
|
|
- slickvpn
|
|
- surfshark
|
|
- torguard
|
|
- vpnsecure
|
|
- vpn unlimited
|
|
- vyprvpn
|
|
- windscribe
|
|
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
|
|
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Update servers list
|
|
run: |
|
|
SELECTED_PROVIDER="${{ github.event.inputs.provider || 'all' }}"
|
|
|
|
if [ "$SELECTED_PROVIDER" = "all" ]; then
|
|
FLAGS="-all"
|
|
else
|
|
FLAGS="-providers $SELECTED_PROVIDER"
|
|
fi
|
|
|
|
go run ./cmd/gluetun/main.go update $FLAGS \
|
|
-maintainer \
|
|
-proton-email "${{ secrets.PROTON_EMAIL }}" \
|
|
-proton-password "${{ secrets.PROTON_PASSWORD }}"
|
|
|
|
- name: Check for changes
|
|
run: |
|
|
if git diff --exit-code internal/storage/servers.json >/dev/null; then
|
|
echo "Error: internal/storage/servers.json was not modified."
|
|
exit 1
|
|
fi
|
|
|
|
- name: Check no other file changes
|
|
run: |
|
|
if ! git diff --exit-code --quiet ':!internal/storage/servers.json'; then
|
|
echo "Error: Unexpected changes detected in files other than servers.json"
|
|
git status --short
|
|
exit 1
|
|
fi
|
|
|
|
- name: Create Pull Request
|
|
id: createpr
|
|
uses: peter-evans/create-pull-request@v8
|
|
with:
|
|
branch-suffix: timestamp
|
|
branch: bot/update-servers-list
|
|
base: master
|
|
delete-branch: true
|
|
title: "feat(providers/${{ github.event.inputs.provider || 'all' }}): servers data update"
|
|
body: |
|
|
This PR was automatically generated by the [Update servers list](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) workflow run.
|
|
|
|
# - name: Merge Pull Request
|
|
# env:
|
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
# run: |
|
|
# gh pr merge ${{ steps.createpr.outputs.pull-request-number }} --auto -m -d
|