Skip to content

Synchronise DNS records #108

Synchronise DNS records

Synchronise DNS records #108

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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Set up Python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.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'