From d7b3215942dd5167bb4ba6f7f97ff4881de01bb7 Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Wed, 8 Jan 2025 14:17:30 +0100 Subject: [PATCH 1/5] Run daily recursor bulk test using download from our repo --- .github/workflows/test-daily.yml | 57 ++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/test-daily.yml diff --git a/.github/workflows/test-daily.yml b/.github/workflows/test-daily.yml new file mode 100644 index 000000000000..bdc4eb772059 --- /dev/null +++ b/.github/workflows/test-daily.yml @@ -0,0 +1,57 @@ +--- +name: 'Run daily tests' + +on: + push: + workflow_call: + inputs: + branch-name: + description: 'Checkout to a specific branch' + required: true + default: 'master' + type: string + +jobs: + run-bulk-test: + name: Run Recursor Bulk Test + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 5 + submodules: recursive + ref: ${{ inputs.branch-name }} + - name: Add PowerDNS Repo + run: echo 'deb [signed-by=/etc/apt/keyrings/rec-master-pub.asc] http://repo.powerdns.com/ubuntu noble-rec-master main' | sudo tee /etc/apt/sources.list.d/pdns.list + - name: Add key + run: sudo install -d /etc/apt/keyrings; curl https://repo.powerdns.com/CBC8B383-pub.asc | sudo tee /etc/apt/keyrings/rec-master-pub.asc + - name: Apt Update + run: sudo apt-get update + - name: Install Recursor Package + run: sudo apt install pdns-recursor pdns-tools + - name: Get Top Million Names + run: curl --no-progress-meter -LO http://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip + working-directory: regression-tests + - name: Unzip Top Million Names + run: unzip top-1m.csv.zip -d . + working-directory: regression-tests + - name: Run With IPv6 Disabled + run: ./recursor-test 5300 100 8 2048 1024 + working-directory: regression-tests + env: + RECURSOR: /usr/sbin/pdns_recursor + RECCONTROL: /usr/bin/rec_control + DNSBULKTEST: /usr/bin/dnsbulktest + THRESHOLD: 95 + TRACE: no + IPv6: 0 + - name: Run With IPv6 Enabled + run: ./recursor-test 5300 100 8 2048 1024 + working-directory: regression-tests + env: + RECURSOR: /usr/sbin/pdns_recursor + RECCONTROL: /usr/bin/rec_control + DNSBULKTEST: /usr/bin/dnsbulktest + THRESHOLD: 95 + TRACE: no + IPv6: 1 From 1ab59d7e3a1ea7f6788d0ad6ff42fe9169d63cd0 Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Wed, 8 Jan 2025 15:57:37 +0100 Subject: [PATCH 2/5] Use matrix --- .github/workflows/test-daily.yml | 36 ++++++++++++++------------------ 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/.github/workflows/test-daily.yml b/.github/workflows/test-daily.yml index bdc4eb772059..bc5be42a7979 100644 --- a/.github/workflows/test-daily.yml +++ b/.github/workflows/test-daily.yml @@ -3,6 +3,8 @@ name: 'Run daily tests' on: push: + schedule: + - cron: '14 5 * * *' workflow_call: inputs: branch-name: @@ -12,9 +14,16 @@ on: type: string jobs: - run-bulk-test: + run-rec-bulk-test: + #if: ${{ vars.REC_BULKTEST_USE_UBICLOUD == '1' }} name: Run Recursor Bulk Test + #runs-on: ubicloud-standard-8-ubuntu-2404 runs-on: ubuntu-24.04 + strategy: + matrix: + testsize: [100] + IPv6: [0, 1] + max-parallel: 1 steps: - uses: actions/checkout@v4 with: @@ -24,29 +33,16 @@ jobs: - name: Add PowerDNS Repo run: echo 'deb [signed-by=/etc/apt/keyrings/rec-master-pub.asc] http://repo.powerdns.com/ubuntu noble-rec-master main' | sudo tee /etc/apt/sources.list.d/pdns.list - name: Add key - run: sudo install -d /etc/apt/keyrings; curl https://repo.powerdns.com/CBC8B383-pub.asc | sudo tee /etc/apt/keyrings/rec-master-pub.asc + run: sudo install -d /etc/apt/keyrings; curl https://repo.powerdns.com/CBC8B383-pub.asc | sudo tee /etc/apt/keyrings/rec-master-pub.asc - name: Apt Update run: sudo apt-get update - - name: Install Recursor Package + - name: Install Recursor Package and PDNS Tools run: sudo apt install pdns-recursor pdns-tools - name: Get Top Million Names - run: curl --no-progress-meter -LO http://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip + run: curl --no-progress-meter -LO http://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip && unzip top-1m.csv.zip -d . working-directory: regression-tests - - name: Unzip Top Million Names - run: unzip top-1m.csv.zip -d . - working-directory: regression-tests - - name: Run With IPv6 Disabled - run: ./recursor-test 5300 100 8 2048 1024 - working-directory: regression-tests - env: - RECURSOR: /usr/sbin/pdns_recursor - RECCONTROL: /usr/bin/rec_control - DNSBULKTEST: /usr/bin/dnsbulktest - THRESHOLD: 95 - TRACE: no - IPv6: 0 - - name: Run With IPv6 Enabled - run: ./recursor-test 5300 100 8 2048 1024 + - name: Run Bulk Test + run: ./recursor-test 5300 ${{ matrix.testsize }} 8 2048 1024 working-directory: regression-tests env: RECURSOR: /usr/sbin/pdns_recursor @@ -54,4 +50,4 @@ jobs: DNSBULKTEST: /usr/bin/dnsbulktest THRESHOLD: 95 TRACE: no - IPv6: 1 + IPv6: ${{ matrix.IPv6 }} From 3963342233086a30119cd57554472284a5188c82 Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Wed, 8 Jan 2025 16:13:27 +0100 Subject: [PATCH 3/5] Make bigger and run on ubicloud --- .github/workflows/test-daily.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-daily.yml b/.github/workflows/test-daily.yml index bc5be42a7979..fbb303dc0344 100644 --- a/.github/workflows/test-daily.yml +++ b/.github/workflows/test-daily.yml @@ -15,13 +15,12 @@ on: jobs: run-rec-bulk-test: - #if: ${{ vars.REC_BULKTEST_USE_UBICLOUD == '1' }} + if: ${{ vars.REC_BULKTEST_USE_UBICLOUD == '1' }} name: Run Recursor Bulk Test - #runs-on: ubicloud-standard-8-ubuntu-2404 - runs-on: ubuntu-24.04 + runs-on: ubicloud-standard-8-ubuntu-2404 strategy: matrix: - testsize: [100] + testsize: [100000] IPv6: [0, 1] max-parallel: 1 steps: From 8a4e9495cf403a9c4de95548e6a2b4198bd43922 Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Fri, 10 Jan 2025 09:41:32 +0100 Subject: [PATCH 4/5] Move workflow to misc-dailies and rename --- .github/workflows/misc-dailies.yml | 37 +++++++++++++++++++++ .github/workflows/test-daily.yml | 52 ------------------------------ 2 files changed, 37 insertions(+), 52 deletions(-) delete mode 100644 .github/workflows/test-daily.yml diff --git a/.github/workflows/misc-dailies.yml b/.github/workflows/misc-dailies.yml index 4f5d6cf5bf88..624a6a012f2a 100644 --- a/.github/workflows/misc-dailies.yml +++ b/.github/workflows/misc-dailies.yml @@ -132,3 +132,40 @@ jobs: cat /tmp/proxpi.log - name: check only listed packages were installed run: for i in `cat /tmp/proxpi.log`; do grep -qq -i $i ${{ matrix.requirements-file }} || ( echo "$i not found" && exit 1 ); done + + run-rec-bulk-test-on-ubicloud: + if: ${{ vars.REC_BULKTEST_USE_UBICLOUD == '1' }} + name: Run Recursor (master) Bulk Test On Ubicloud + runs-on: ubicloud-standard-8-ubuntu-2404 + strategy: + matrix: + testsize: [500000] + IPv6: [0, 1] + max-parallel: 1 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 5 + submodules: recursive + ref: ${{ inputs.branch-name }} + - name: Add PowerDNS Repo + run: echo 'deb [signed-by=/etc/apt/keyrings/rec-master-pub.asc] http://repo.powerdns.com/ubuntu noble-rec-master main' | sudo tee /etc/apt/sources.list.d/pdns.list + - name: Add key + run: sudo install -d /etc/apt/keyrings; curl https://repo.powerdns.com/CBC8B383-pub.asc | sudo tee /etc/apt/keyrings/rec-master-pub.asc + - name: Apt Update + run: sudo apt-get update + - name: Install Recursor Package and PDNS Tools + run: sudo apt install pdns-recursor pdns-tools + - name: Get Top Million Names + run: curl --no-progress-meter -LO http://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip && unzip top-1m.csv.zip -d . + working-directory: regression-tests + - name: Run Bulk Test + run: ./recursor-test 5300 ${{ matrix.testsize }} 8 2048 1024 + working-directory: regression-tests + env: + RECURSOR: /usr/sbin/pdns_recursor + RECCONTROL: /usr/bin/rec_control + DNSBULKTEST: /usr/bin/dnsbulktest + THRESHOLD: 95 + TRACE: no + IPv6: ${{ matrix.IPv6 }} diff --git a/.github/workflows/test-daily.yml b/.github/workflows/test-daily.yml deleted file mode 100644 index fbb303dc0344..000000000000 --- a/.github/workflows/test-daily.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- -name: 'Run daily tests' - -on: - push: - schedule: - - cron: '14 5 * * *' - workflow_call: - inputs: - branch-name: - description: 'Checkout to a specific branch' - required: true - default: 'master' - type: string - -jobs: - run-rec-bulk-test: - if: ${{ vars.REC_BULKTEST_USE_UBICLOUD == '1' }} - name: Run Recursor Bulk Test - runs-on: ubicloud-standard-8-ubuntu-2404 - strategy: - matrix: - testsize: [100000] - IPv6: [0, 1] - max-parallel: 1 - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 5 - submodules: recursive - ref: ${{ inputs.branch-name }} - - name: Add PowerDNS Repo - run: echo 'deb [signed-by=/etc/apt/keyrings/rec-master-pub.asc] http://repo.powerdns.com/ubuntu noble-rec-master main' | sudo tee /etc/apt/sources.list.d/pdns.list - - name: Add key - run: sudo install -d /etc/apt/keyrings; curl https://repo.powerdns.com/CBC8B383-pub.asc | sudo tee /etc/apt/keyrings/rec-master-pub.asc - - name: Apt Update - run: sudo apt-get update - - name: Install Recursor Package and PDNS Tools - run: sudo apt install pdns-recursor pdns-tools - - name: Get Top Million Names - run: curl --no-progress-meter -LO http://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip && unzip top-1m.csv.zip -d . - working-directory: regression-tests - - name: Run Bulk Test - run: ./recursor-test 5300 ${{ matrix.testsize }} 8 2048 1024 - working-directory: regression-tests - env: - RECURSOR: /usr/sbin/pdns_recursor - RECCONTROL: /usr/bin/rec_control - DNSBULKTEST: /usr/bin/dnsbulktest - THRESHOLD: 95 - TRACE: no - IPv6: ${{ matrix.IPv6 }} From e68a027ebc82740ef5397f40b4a484366ffe436f Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Fri, 10 Jan 2025 13:49:05 +0100 Subject: [PATCH 5/5] Rename var to UBICLOUD_DAILY_REC_BULKTEST --- .github/workflows/misc-dailies.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/misc-dailies.yml b/.github/workflows/misc-dailies.yml index 624a6a012f2a..6ff4ca2c9839 100644 --- a/.github/workflows/misc-dailies.yml +++ b/.github/workflows/misc-dailies.yml @@ -134,7 +134,7 @@ jobs: run: for i in `cat /tmp/proxpi.log`; do grep -qq -i $i ${{ matrix.requirements-file }} || ( echo "$i not found" && exit 1 ); done run-rec-bulk-test-on-ubicloud: - if: ${{ vars.REC_BULKTEST_USE_UBICLOUD == '1' }} + if: ${{ vars.UBICLOUD_DAILY_REC_BULKTEST == '1' }} name: Run Recursor (master) Bulk Test On Ubicloud runs-on: ubicloud-standard-8-ubuntu-2404 strategy: