Various daily checks #1121
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Various daily checks" | |
| on: | |
| schedule: | |
| - cron: '34 4 * * *' | |
| permissions: # least privileges, see https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions | |
| contents: read | |
| env: | |
| CLANG_VERSION: '12' | |
| jobs: | |
| el7-devtoolset: | |
| if: ${{ vars.SCHEDULED_MISC_DAILIES }} | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Check whether a newer devtoolset exists | |
| run: | | |
| if docker run --rm centos:7 bash -c 'yum install -y centos-release-scl-rh && yum info devtoolset-12-gcc-c++' | |
| then | |
| echo "::warning file=builder-support/dockerfiles/Dockerfile.rpmbuild::A newer devtoolset exists. Please edit builder-support/dockerfiles/Dockerfile.rpmbuild, builder-support/dockerfiles/Dockerfile.rpmbuild, and .github/workflows/dailies.yml" | |
| exit 1 | |
| else | |
| echo "::notice ::No newer devtoolset exists (good)" | |
| exit 0 | |
| fi | |
| check-debian-autoremovals: | |
| if: ${{ vars.SCHEDULED_MISC_DAILIES }} | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 5 | |
| submodules: recursive | |
| persist-credentials: false | |
| - name: Check if Debian is about to toss us off a balcony | |
| run: ./build-scripts/check-debian-autoremovals.py | |
| coverity-auth: | |
| name: coverity scan of the auth | |
| if: ${{ vars.SCHEDULED_MISC_DAILIES }} | |
| uses: PowerDNS/pdns/.github/workflows/coverity.yml@master | |
| with: | |
| product: 'authoritative' | |
| secrets: | |
| COVERITY_TOKEN: ${{ secrets.coverity_auth_token }} | |
| COVERITY_EMAIL: ${{ secrets.coverity_email }} | |
| coverity-dnsdist: | |
| name: coverity scan of dnsdist | |
| if: ${{ vars.SCHEDULED_MISC_DAILIES }} | |
| uses: PowerDNS/pdns/.github/workflows/coverity.yml@master | |
| with: | |
| product: 'dnsdist' | |
| secrets: | |
| COVERITY_TOKEN: ${{ secrets.coverity_dnsdist_token }} | |
| COVERITY_EMAIL: ${{ secrets.coverity_email }} | |
| coverity-rec: | |
| name: coverity scan of the rec | |
| if: ${{ vars.SCHEDULED_MISC_DAILIES }} | |
| uses: PowerDNS/pdns/.github/workflows/coverity.yml@master | |
| with: | |
| product: 'recursor' | |
| secrets: | |
| COVERITY_TOKEN: ${{ secrets.coverity_rec_token }} | |
| COVERITY_EMAIL: ${{ secrets.coverity_email }} | |
| run-rec-bulk-test-on-ubicloud: | |
| if: ${{ vars.UBICLOUD_DAILY_REC_BULKTEST == '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@v5 | |
| with: | |
| fetch-depth: 5 | |
| submodules: recursive | |
| ref: ${{ inputs.branch-name }} | |
| persist-credentials: false | |
| - 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 https://umbrella-static.s3.dualstack.us-west-1.amazonaws.com/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 }} |