Automated E2E Testing with GitHub Actions
PolarDNS can be integrated with a variety of DNS resolvers to run a comprehensive end-to-end (E2E) DNS server test suite.
This integration is powered by GitHub Actions, with reference templates (workflows) currently available for the following six DNS resolvers:
- BIND9 (e2e-bind9.yaml)
- CoreDNS (e2e-coredns.yaml)
- Dnsmasq (e2e-dnsmasq.yaml)
- Knot Resolver (e2e-knot-v5.yaml, e2e-knot-v6.yaml)
- PowerDNS (e2e-powerdns.yaml)
- Unbound (e2e-unbound.yaml)
When a GitHub Action is triggered (e.g., on commit or manually), the workflows perform the following steps:
- Start the selected DNS resolver in a Docker container
- Start PolarDNS in a separate Docker container
- Connect the selected resolver to PolarDNS
- Run the E2E test suite against the selected DNS resolver
To add your own E2E tests, simply place them in the test-e2e/ directory.
Looking for a full-featured DNS server E2E test suite? Reach out to ivan.jedek@oryxlabs.com
.
Previous: Testing Process Breakdown | Next: Adding New Features |