# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/2.0/configuration-reference version: 2.1 jobs: build: working_directory: ~/repo docker: - image: circleci/golang:1.16 - image: mariadb:10.1 environment: MYSQL_ROOT_PASSWORD: supersecret - image: psitrax/powerdns environment: MYSQL_USER: root MYSQL_PASS: supersecret MYSQL_PORT: "3306" MYSQL_HOST: "127.0.0.1" command: - "--webserver=yes" - "--api=yes" - "--api-key=password" - "--webserver-port=8080" - "--webserver-loglevel=detailed" - "--loglevel=10" - "--log-dns-queries=yes" - "--master" - "--disable-syslog" - "--webserver-address=0.0.0.0" - "--webserver-allow-from=0.0.0.0/0" steps: - checkout - restore_cache: keys: - go-mod-v4-{{ checksum "go.sum" }} - run: name: Install Dependencies command: | go mod download make _test/kubebuilder - save_cache: key: go-mod-v4-{{ checksum "go.sum" }} paths: - "/go/pkg/mod" - run: name: Run tests command: | mkdir -p /tmp/test-reports env TEST_ZONE_NAME=example.com. gotestsum --junitfile /tmp/test-reports/unit-tests.xml - store_test_results: path: /tmp/test-reports