Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion act-wrapper
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ function usage {
echo "Inputs that can be provided via --input:"
echo " --input build-profile=debug|release"
echo " --input log-level=error|warn|info|debug|trace"
echo " --input concurrent-tests=1"
echo ""
echo "Use --matrix test:<TEST NAME TO RUN> to limit which jobs the 'tests' job runs."
}

if [[ "$1" =~ ^-h|--help$ ]]; then
Expand Down Expand Up @@ -160,7 +163,7 @@ if [[ "$docker_stats" == true ]]; then
fi

echo "Running tests"
act "${act_args[@]}" --log-prefix-job-id --pull=false -P "ubuntu-latest=nlnetlabs/cascade-tests-runner" -W integration-tests/system-tests.yml "$@" && ACT_EXIT_CODE=$? || ACT_EXIT_CODE=$?
act "${act_args[@]}" --pull=false -P "ubuntu-latest=nlnetlabs/cascade-tests-runner" -W integration-tests/system-tests.yml "$@" && ACT_EXIT_CODE=$? || ACT_EXIT_CODE=$?

# Stop the docker stats collection process, if needed.
if [[ "$docker_stats" == true ]]; then
Expand Down
134 changes: 13 additions & 121 deletions integration-tests/system-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ on:
- info
- debug
- trace
concurrent-tests:
description: The number of tests job system tests to run concurrently.
required: false
default: 8
type: number

env:
# Set this assignment to your choosing to set the cargo build verbosity
Expand All @@ -60,9 +65,6 @@ jobs:
test-release-version:
name: Example test with prepare environment and cascade --version (release)
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/prepare-systest-env
Expand All @@ -75,94 +77,29 @@ jobs:
test-version:
name: Example test with prepare environment and cascade --version (debug)
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/prepare-systest-env
- run: cascade --version
- run: file $(which cascade)

add-zone-query:
name: Add a zone, query the published zone
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/set-build-profile
with:
build-profile: ${{ inputs.build-profile }}
- uses: ./integration-tests/tests/add-zone-query
with:
log-level: ${{ inputs.log-level }}

# Added for https://github.com/NLnetLabs/cascade/pull/402
load-zonefile:
name: Load a zone from a file, query the published zone
tests:
name: Run ${{ join(matrix.test, ' - ') }}
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
test: [add-zone-query, load-zonefile, review-unsigned-zone, review-unsigned-zone2, ixfr-in, notify-in-for-unknown-zone, remove-zone, all-rr-types]
max-parallel: ${{ inputs.concurrent-tests }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/set-build-profile
with:
build-profile: ${{ inputs.build-profile }}
- uses: ./integration-tests/tests/load-zonefile
with:
log-level: ${{ inputs.log-level }}

# Added for https://github.com/NLnetLabs/cascade/pull/398
review-unsigned-zone:
name: Add a zone, approve the unsigned zone, query the published zone
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/set-build-profile
with:
build-profile: ${{ inputs.build-profile }}
- uses: ./integration-tests/tests/review-unsigned-zone
with:
log-level: ${{ inputs.log-level }}

review-unsigned-zone2:
name: Test that the review server has the original zone
runs-on: ubuntu-latest
strategy:
#max-parallel: 1
matrix:
rust: [stable]
test_idx: [1, 2]
key: ['Kexample.+015+02835.key']
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/set-build-profile
with:
build-profile: ${{ inputs.build-profile }}
- uses: ./integration-tests/tests/review-unsigned-zone2
with:
log-level: ${{ inputs.log-level }}
test_idx: ${{ matrix.test_idx }}
key: ${{ matrix.key }}

ixfr-in:
name: Receive a zone via IXFR from the NSD primary.
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/set-build-profile
- uses: jenseng/dynamic-uses@v1
with:
build-profile: ${{ inputs.build-profile }}
- uses: ./integration-tests/tests/ixfr-in
uses: ./integration-tests/tests/${{ matrix.test }}
# with:
# log-level: ${{ inputs.log-level }}

incremental-signing:
name: Test incremental signing.
Expand Down Expand Up @@ -213,48 +150,3 @@ jobs:
policy: ${{ matrix.policy }}
test_idx: ${{ matrix.test_idx }}
key: ${{ matrix.key }}

notify-in-for-unknown-zone:
name: Receive a NOTIFY for a zone that is unknown to Cascade.
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/set-build-profile
with:
build-profile: release
- uses: ./integration-tests/tests/notify-in-for-unknown-zone
with:
log-level: ${{ inputs.log-level }}

remove-zone:
name: Add, sign and remove a zone.
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/set-build-profile
with:
build-profile: ${{ inputs.build-profile }}
- uses: ./integration-tests/tests/remove-zone
with:
log-level: ${{ inputs.log-level }}

all-rr-types:
name: Tests loading of all supported RR types.
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/set-build-profile
with:
build-profile: ${{ inputs.build-profile }}
- uses: ./integration-tests/tests/all-rr-types
with:
log-level: ${{ inputs.log-level }}