name: Update geo_data.py
|
|
on:
|
|
workflow_dispatch: # option to run manually if/when needed
|
|
schedule:
|
|
- cron: "42 3 * * 6" # sat @ 3:42am
|
|
|
|
jobs:
|
|
config:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
json: ${{ steps.load.outputs.json }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- id: load
|
|
# based on https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings
|
|
run: |
|
|
{
|
|
echo 'json<<EOF'
|
|
cat ./.ci-config.json
|
|
echo EOF
|
|
} >> $GITHUB_OUTPUT
|
|
update-geo-data:
|
|
needs: config
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ fromJson(needs.config.outputs.json).python_version_current }}
|
|
architecture: x64
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r requirements.txt
|
|
pip install virtualenv
|
|
- name: Generate geo_data.py
|
|
run: |
|
|
./script/bootstrap
|
|
source env/bin/activate
|
|
./script/generate-geo-data > octodns/record/geo_data.py
|
|
git diff
|
|
[ `git status --porcelain=1 | wc -l` -ne 0 ] && ./script/changelog create -t minor Periodic updates to geo_data.py || true
|
|
- name: Create Pull Request
|
|
id: cpr
|
|
uses: peter-evans/create-pull-request@v7
|
|
with:
|
|
commit-message: Periodic updates to geo_data.py
|
|
branch: update-geo-data
|
|
title: Update geo_data.py to reflect recent changes
|
|
body: Auto-generated with https://github.com/peter-evans/create-pull-request
|