From: Peter van Dijk Date: Mon, 3 Feb 2025 10:59:15 +0000 (+0100) Subject: remove circleci config X-Git-Tag: dnsdist-2.0.0-alpha1~131^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F15109%2Fhead;p=thirdparty%2Fpdns.git remove circleci config --- diff --git a/.circleci/Makefile b/.circleci/Makefile deleted file mode 100644 index c70419a2e5..0000000000 --- a/.circleci/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# example usage, after https://circleci.com/docs/2.0/local-cli/ : -# -# make -C .circleci && circleci local execute -c .circleci/config.yml-local --job coverity-auth -e COVERITY_EMAIL=myemailhere -e COVERITY_PROJECT=foo -e COVERITY_TOKEN=XX - -config.yml-local: config.yml - circleci config process $< > $@ - diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index f457898068..0000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,460 +0,0 @@ -version: 2.1 - -commands: - checkout-shallow: - description: "Do a shallow checkout of the repository" - steps: - - run: - name: Install git and openssh - command: apt-get update && apt-get -qq -y install openssh-client git - - run: - name: Store the keyid for the git repo - command: mkdir -p $HOME/.ssh && ssh-keyscan $(echo ${CIRCLE_REPOSITORY_URL} | sed 's,.*@\([^:]*\):.*,\1,') > $HOME/.ssh/known_hosts - - run: - name: Clone the repo - command: | - mkdir -p /opt/project - if [ -n "$CIRCLE_PR_NUMBER" ] - then - echo === Checking out PR "$CIRCLE_PR_NUMBER" from "$CIRCLE_REPOSITORY_URL" - git clone --depth 1 $CIRCLE_REPOSITORY_URL /opt/project - cd /opt/project - git fetch --depth 1 origin +refs/pull/${CIRCLE_PR_NUMBER}/merge - git checkout -qf FETCH_HEAD - else - echo === Checking out branch "${CIRCLE_BRANCH}" from "$CIRCLE_REPOSITORY_URL" - git clone --depth 1 --branch $CIRCLE_BRANCH $CIRCLE_REPOSITORY_URL /opt/project - fi - cd /opt/project - git --no-pager show -s - - get-workspace: - description: "Attach workspace to /opt and symlink checkout into home" - steps: - - run: - name: ensure ca-certificates is installed - command: apt-get update && apt-get -qq -y install ca-certificates - - attach_workspace: - at: /opt - - run: - name: symlink checkout into home - command: rmdir ~/project && ln -s /opt/project ~/project - - run: - name: include $BASH_ENV for both interactive and non-interactive shells - command: echo '. $BASH_ENV' >> $HOME/.bashrc - - install-clang-8: - description: install clang-8 from backports - steps: - - run: - name: add backports and install clang-8 - command: | - echo 'deb http://deb.debian.org/debian buster-backports main' > /etc/apt/sources.list.d/backports.list - apt-get update - apt-get -qq -t buster-backports --no-install-recommends install clang-8 llvm-8 - - # FIXME: the build-essential wart below is misformatted intentionally to remind us to replace the remotebackend testing deps with Debian packages - auth-regress-setup: - description: Prepare the environment for auth regression tests - steps: - - get-workspace - - install-auth-deps - - install-clang-8 # for the symbolizer - - run: - name: Install test dependencies - command: | - apt-get -y -qq install \ - authbind \ - bc \ - bind9utils \ - build-essential libsqlite3-dev libzmq3-dev \ - curl \ - default-jre-headless \ - dnsutils \ - gawk \ - git \ - ldnsutils \ - libnet-dns-perl \ - pdns-recursor \ - socat \ - sqlite3 \ - unbound-host - - run: - name: Install jdnssectools - command: | - if [ ! -e $HOME/bin/jdnssec-verifyzone ]; then - apt-get install -qq -y wget - wget https://github.com/dblacka/jdnssec-tools/releases/download/0.14/jdnssec-tools-0.14.tar.gz - tar xfz jdnssec-tools-0.14.tar.gz -C $HOME - rm jdnssec-tools-0.14.tar.gz - fi - echo 'export PATH=$HOME/jdnssec-tools-0.14/bin:$PATH' >> $BASH_ENV - - run: - name: Allow missing tools in verify-dnssec-zone - command: touch regression-tests/tests/verify-dnssec-zone/allow-missing - - run: - name: Start PowerDNS Recursor in the background - command: pdns_recursor - background: true - - run: - name: Set up authbind - command: | - touch /etc/authbind/byport/53 - chmod 755 /etc/authbind/byport/53 - - auth-regress: - description: Run one auth regression context - parameters: - skip: - type: string - default: "" - rootskip: - type: string - default: "" - doroot: - type: boolean - default: true - context: - type: string - default: "" - prefix: - type: string - default: "/opt/pdns-auth/" - steps: - - run: - workdir: ~/project/regression-tests - name: Run << parameters.context >> tests - command: | - [ -e ./vars ] && . ./vars - export - rm -rf tests/*/skip - for t in << parameters.skip >> - do - touch tests/$t/skip - done - PDNS=<< parameters.prefix >>sbin/pdns_server \ - PDNS2=<< parameters.prefix >>sbin/pdns_server \ - SDIG=<< parameters.prefix >>bin/sdig \ - NOTIFY=<< parameters.prefix >>bin/pdns_notify \ - NSEC3DIG=<< parameters.prefix >>bin/nsec3dig \ - SAXFR=<< parameters.prefix >>bin/saxfr \ - ZONE2SQL=<< parameters.prefix >>bin/zone2sql \ - ZONE2LDAP=<< parameters.prefix >>bin/zone2ldap \ - PDNSUTIL=<< parameters.prefix >>bin/pdnsutil \ - PDNSCONTROL=<< parameters.prefix >>bin/pdns_control \ - RESOLVERIP=127.0.0.1 \ - ./start-test-stop 5300 << parameters.context >> - - when: - condition: << parameters.doroot >> - steps: - - run: - workdir: ~/project/regression-tests.rootzone - name: Run << parameters.context >> tests for the root zone - command: | - [ -e ../regression-tests/vars ] && . ../regression-tests/vars - rm -rf tests/*/skip - for t in << parameters.rootskip >> - do - touch tests/$t/skip - done - PDNS=<< parameters.prefix >>sbin/pdns_server \ - PDNS2=<< parameters.prefix >>sbin/pdns_server \ - SDIG=<< parameters.prefix >>bin/sdig \ - NOTIFY=<< parameters.prefix >>bin/pdns_notify \ - NSEC3DIG=<< parameters.prefix >>bin/nsec3dig \ - SAXFR=<< parameters.prefix >>bin/saxfr \ - ZONE2SQL=<< parameters.prefix >>bin/zone2sql \ - ZONE2LDAP=<< parameters.prefix >>bin/zone2ldap \ - PDNSUTIL=<< parameters.prefix >>bin/pdnsutil \ - PDNSCONTROL=<< parameters.prefix >>bin/pdns_control \ - RESOLVERIP=127.0.0.1 \ - ./start-test-stop 5300 << parameters.context >> - - install-auth-deps: - description: Install all libraries needed to run the auth - steps: - - run: | - apt-get install -qq -y --no-install-recommends \ - default-libmysqlclient-dev \ - libboost-all-dev \ - libcdb1 \ - libcurl4 \ - libgeoip1 \ - libkrb5-3 \ - libldap-2.4-2 \ - liblmdb0 \ - libluajit-5.1-2 \ - libmaxminddb0 \ - libp11-kit0 \ - libpq5 \ - libsodium23 \ - libssl1.1 \ - libsystemd0 \ - libyaml-cpp0.6 \ - softhsm2 \ - unixodbc - - install-dnsdist-deps: - description: "Install all libraries needed for testing dnsdist" - steps: - - run: apt-get update - - run: - command: | - apt-get install -qq -y \ - libluajit-5.1-2 \ - libboost-all-dev \ - libcap2 \ - libcdb1 \ - libcurl4-openssl-dev \ - libfstrm0 \ - libgnutls30 \ - libh2o-evloop0.13 \ - liblmdb0 \ - libnghttp2-dev \ - libre2-5 \ - libssl-dev \ - libsystemd0 \ - libsodium23 \ - patch \ - protobuf-compiler \ - python3-venv - - install-auth-dev-deps: - description: Install all packages needed to build the auth - steps: - - run: apt-get update - - run: - command: | - apt-get install -qq -y --no-install-recommends \ - autoconf \ - automake \ - bison \ - bzip2 \ - curl \ - default-libmysqlclient-dev \ - flex \ - g++ \ - git \ - libboost-all-dev \ - libcdb-dev \ - libcurl4-openssl-dev \ - libgeoip-dev \ - libkrb5-dev \ - libldap2-dev \ - liblmdb-dev \ - libluajit-5.1-dev \ - libmaxminddb-dev \ - libp11-kit-dev \ - libpq-dev \ - libsodium-dev \ - libsqlite3-dev \ - libssl-dev \ - libsystemd-dev \ - libtool \ - libyaml-cpp-dev \ - libzmq3-dev \ - make \ - pkg-config \ - python3-venv \ - ragel \ - ruby-bundler \ - ruby2.5-dev \ - sqlite3 \ - systemd \ - unixodbc-dev \ - wget - - add-auth-repo: - description: "Add the debian repo for the auth" - parameters: - version: - type: string - default: "45" - distro: - type: string - default: "debian" - release: - type: string - default: "buster" - steps: - - run: - name: "Install dependencies" - command: "apt-get update && apt-get install -qq -y curl gnupg2" - - run: - name: "Install apt-keys" - command: | - if [ "<< parameters.version >>" = "master" ]; then - curl https://repo.powerdns.com/CBC8B383-pub.asc -o /etc/apt/trusted.gpg.d/CBC8B383-pub.asc - else - curl https://repo.powerdns.com/FD380FBB-pub.asc -o /etc/apt/trusted.gpg.d/FD380FBB-pub.asc - fi - - run: - name: "Add repository" - command: | - echo 'deb [arch=amd64] http://repo.powerdns.com/<< parameters.distro >> << parameters.release >>-auth-<< parameters.version>> main' >> /etc/apt/sources.list.d/pdns.list - - run: - name: "add pinning" - command: | - echo 'Package: pdns-*' > /etc/apt/preferences.d/pdns - echo 'Pin: origin repo.powerdns.com' >> /etc/apt/preferences.d/pdns - echo 'Pin-Priority: 600' >> /etc/apt/preferences.d/pdns - - run: - name: update apt cache - command: apt-get update - - setup-ccache: - description: Install .ccache and set $PATH - steps: - - run: - name: Install ccache - command: apt-get update && apt-get -qq -y install ccache - - run: - name: Setup ccache in $PATH - command: echo 'export PATH=/usr/lib/ccache:$PATH' >> $BASH_ENV - - save-ccache-cache: - description: Store the .ccache directory - parameters: - product: - type: string - default: "" - steps: - - save_cache: - key: ccache-cache-{{ arch }}-<< parameters.product >>-{{ .Branch }} - paths: - - ~/.ccache - - restore-cache-ccache: - description: Restore the .ccache directory - parameters: - product: - type: string - default: "" - steps: - - setup-ccache - - run: - name: ensure ca-certificates is installed - command: apt-get update && apt-get -qq -y install ca-certificates - - restore_cache: - keys: - - ccache-cache-{{ arch }}-<< parameters.product >>-{{ .Branch }} - - ccache-cache-{{ arch }}-<< parameters.product >>- - -jobs: - checkout: - resource_class: small - - docker: - - image: debian:buster - auth: - username: powerdnsreadonly - password: $DOCKERHUB_PASSWORD - - steps: - - checkout-shallow - - persist_to_workspace: - root: /opt - paths: - - project - - build-auth: - docker: - - image: debian:buster - auth: - username: powerdnsreadonly - password: $DOCKERHUB_PASSWORD - environment: - UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' - ASAN_OPTIONS: detect_leaks=0 - steps: - - get-workspace - - install-auth-dev-deps - - install-clang-8 - - restore-cache-ccache: - product: auth - - run: - name: autoconf - command: BUILDER_VERSION=0.0.0-git1 autoreconf -vfi - - run: - name: configure - command: | - CC='clang-8' \ - CXX='clang++-8' \ - CFLAGS="-O1 -Werror=vla -Werror=shadow -Wformat=2 -Werror=format-security -Werror=string-plus-int" \ - CXXFLAGS="-O1 -Werror=vla -Werror=shadow -Wformat=2 -Werror=format-security -Werror=string-plus-int -Wp,-D_GLIBCXX_ASSERTIONS" \ - ./configure \ - --enable-option-checking=fatal \ - --with-modules='bind geoip gmysql godbc gpgsql gsqlite3 ldap lmdb lua2 pipe remote tinydns' \ - --enable-systemd \ - --enable-tools \ - --enable-unit-tests \ - --enable-backend-unit-tests \ - --enable-fuzz-targets \ - --enable-experimental-pkcs11 \ - --enable-remotebackend-zeromq \ - --with-lmdb=/usr \ - --with-libsodium \ - --prefix=/opt/pdns-auth \ - --enable-ixfrdist \ - --enable-asan \ - --enable-ubsan - - run: - name: build - command: make -j3 -k - - save-ccache-cache: - product: auth - - run: - name: Install the binaries - command: make install - - persist_to_workspace: - root: /opt - paths: - - pdns-auth - - test-auth-regress-bind: - resource_class: small - - docker: - - image: debian:buster - auth: - username: powerdnsreadonly - password: $DOCKERHUB_PASSWORD - environment: - UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' - ASAN_OPTIONS: detect_leaks=0 - - image: mysql:5 # for the hybrid test - environment: - MYSQL_ALLOW_EMPTY_PASSWORD: 1 - auth: - username: powerdnsreadonly - password: $DOCKERHUB_PASSWORD - steps: - - auth-regress-setup - - run: - command: apt-get install -qq -y p11-kit softhsm2 - - auth-regress: - context: bind-dnssec-pkcs11 - - run: - command: apt-get install -qq -y default-mysql-client - - run: - command: | - cat >> ~/.my.cnf \<<- __EOF__ - [client] - protocol=TCP - __EOF__ - - run: - name: Set up mysql client lib to force TCP - command: echo 'export GMYSQLHOST=127.0.0.1' > ./vars - workdir: ~/project/regression-tests - - auth-regress: - context: bind-hybrid-nsec3 - -workflows: - version: 2 - - build-and-test-all: - jobs: - - checkout - - build-auth: - requires: - - checkout