Skip to content

Synchronise DNS records #128

Synchronise DNS records

Synchronise DNS records #128

Workflow file for this run

name: Synchronise DNS records
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
# Synchronise once per week
schedule:
- cron: "0 8 * * WED"
jobs:
# Sync records using inwx-dns-recordmaster
sync-records:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.14"
- name: Install inwx-dns-recordmaster
run: pip install -r requirements.txt
- name: Display information about inwx-dns-recordmaster
run: inwx-dnsrm --version
- name: Create app configuration
run: |
mkdir -p $HOME/.config/inwx-dns-recordmaster/
cp config.toml $HOME/.config/inwx-dns-recordmaster/config.toml
# Replace secrets in app config
sed -i "s|__INWX_USER__|${{ secrets.INWX_USER }}|" $HOME/.config/inwx-dns-recordmaster/config.toml
sed -i "s|__INWX_PASS__|${{ secrets.INWX_PASS }}|" $HOME/.config/inwx-dns-recordmaster/config.toml
- name: Run inwx-dnsrm (dry mode in Pull Request)
run: inwx-dnsrm sync -c records --dry
if: github.event_name == 'pull_request'
- name: Run inwx-dnsrm (prod mode)
run: inwx-dnsrm sync -c records
if: github.event_name != 'pull_request'