.travis.yml
language: go
go:
- 1.13.x
- stable
env:
global:
- CC_TEST_REPORTER_ID=4bb8f247a9230cafa72546fdfcf17be84fee6f78fda2fa87e594f268a6f178cb
before_script:
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
- chmod +x ./cc-test-reporter
- ./cc-test-reporter before-build
script:
- echo $TRAVIS_GO_VERSION | grep -q ^1\.13 || go get -u -t ./...
- go vet ./...
- sudo touch /hosts.block
- go test -coverprofile c.out ./...
- docker network create dohli
- docker run -d --rm --network dohli --name redis redis:alpine
- docker build -t dohli --build-arg GO_VERSION=`go version | cut -f 3 -d " " | sed s/^go//` .
- docker run -d --rm --network dohli -p 8080:8080 -e PORT=8080 -e REDIS_URL=redis://redis dohli /web
- docker run -d --rm --network dohli -e REDIS_URL=redis://redis dohli /worker -wait
- sleep 2
- curl -f -o /dev/null http://localhost:8080/dns-query?dns=AAABAAABAAAAAAAABGlwdjYGZ29vZ2xlA2NvbQAAAQAB
- echo AAABAAABAAAAAAAABGlwdjYGZ29vZ2xlA2NvbQAAAQAB | base64 -d > /tmp/request
- curl -f -o /dev/null --data-binary @/tmp/request http://localhost:8080/dns-query
- curl -f -o /dev/null http://localhost:8080/dns-query?dns=AAABAAABAAAAAAABCXdpa2lwZWRpYQNvcmcAABwAAQAAKRAAAAAAAAAIAAgABAABAAA
- echo AAABAAABAAAAAAABCXdpa2lwZWRpYQNvcmcAABwAAQAAKRAAAAAAAAAIAAgABAABAAA= | base64 -d > /tmp/request
- curl -f -o /dev/null --data-binary @/tmp/request http://localhost:8080/dns-query
- echo AAABAAABAAAAAAAACWdvb2dsZWFkcwFnC2RvdWJsZWNsaWNrA25ldAAAHAAB | base64 -d > /tmp/request
- curl -f -o /dev/null --data-binary @/tmp/request http://localhost:8080/dns-query
- sleep 2
- test "`curl -f -o - http://localhost:8080/dns-query?dns=AAABAAABAAAAAAAACWdvb2dsZWFkcwFnC2RvdWJsZWNsaWNrA25ldAAAHAAB | cut -c 4 | hexdump -c | awk '{print $2}'`" = 003
- test "`curl -f -o - --data-binary @/tmp/request http://localhost:8080/dns-query | cut -c 4 | hexdump -c | awk '{print $2}'`" = 003
- docker run --rm dohli cat /stub > /tmp/stub
- chmod 755 /tmp/stub
- sudo /tmp/stub -server http://127.0.0.1:8080/dns-query &
- sleep 2
- getent hosts googleads.g.doubleclick.net
- sudo sh -c "echo nameserver 127.0.0.1 > /etc/resolv.conf"
- getent hosts ipv6.google.com
- |
! getent hosts googleads.g.doubleclick.net || exit 1
- sleep 1
- |
! getent hosts googleads.g.doubleclick.net || exit 1
after_script:
- echo $TRAVIS_GO_VERSION | grep -vq ^1\.13 || ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
services:
- docker
deploy:
provider: heroku
api_key:
secure: ki4Fc1Fnj37WXM0hs8RK1fhtlAAfRUZ+NmayYK4VTz7vdB4jRud5MZlUjisa1QmcpAEkCJY9vUeMSQDdlwZF1HtWc2mXlyt7jT/T/ct2lzSubE3M7wP1zOOo5GyQ2AkpYIFkaqXOGJn40ZcjpKj+z+FkfpOWGTWV3l/VJiniXrgHXGyAdGerZ2KyKGU0bfmtDMuqwKI/77m+jbcy/+zOz1byjiKO5cpy5fxkAjb5Kam7pidkMu7E7taTIsrxKYT6SPjV2QC5zM09264StL+vCaI62zogltWqoQvgPmR3m0/3dOdy7LNyF0QInCSZHx6e8v0kPjTaW/ko72hBn95hYeiZy76PtepEOurlyP1J7IVNBtq0sNttLfQ3NmG5wKm3085XHW7E8c8Hkq7UW44b71+0vpaXd0sDwvgTt1rsvEKK2qvUsXr/2Fm+SBBi9joh16l/m7FN8EGghTvkRoZOYgjgllbF6P+U8iradC554b/EEdvuQboLKGV2g3rvgvLYARuO0vuRIOjdfHTdd66ISb6CzrgKgqZiQlutFpteJT04n6DtSb+4Pu8jLExCw01UX1ZVVXbVVX00c1zvPn6WCHjb77CiDUXdkE9ZDN+4KThIrMRJ1EKynZiuSNmbhV8l1E6SQeNcmYkABMGJGSRk49EW9EIoiftbj41CnEPvOkU=
on:
branch: master
condition: $TRAVIS_GO_VERSION =~ ^1\.13