diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml new file mode 100644 index 00000000..be281cc7 --- /dev/null +++ b/.github/workflows/conformance.yml @@ -0,0 +1,42 @@ +name: conformance + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + everything: + # host is irrelevant because everything will run in Docker containers + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: clippy, rustfmt + - uses: extractions/setup-just@v2 + + - name: run test-framework tests + run: just conformance-framework + + - name: run conformance tests against unbound + run: just conformance-unbound + + - name: run conformance tests against BIND + run: just conformance-bind + + - name: run conformance tests against hickory-dns + run: just conformance-hickory + + - name: check that all the tests that now pass with hickory-dns are not marked as `#[ignore]`-d + run: just conformance-ignored + + - name: lint code + run: just conformance-clippy + + - name: check that code is formatted + run: just conformance-fmt diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1cda826e..0a4e3326 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,10 +6,14 @@ on: - main - release/** - "*_dev" + paths-ignore: + - "conformance/**" pull_request: branches: - main - release/** + paths-ignore: + - "conformance/**" schedule: - cron: "0 3 * * 4"