mirror of
https://github.com/SamTherapy/dnscrypt.git
synced 2024-10-02 16:32:51 +00:00
95 lines
2.2 KiB
YAML
95 lines
2.2 KiB
YAML
language: go
|
|
sudo: false
|
|
|
|
os:
|
|
- linux
|
|
- osx
|
|
- windows
|
|
|
|
env:
|
|
- GO111MODULE=on
|
|
|
|
go:
|
|
- 1.x
|
|
|
|
before_install:
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
linux | osx)
|
|
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.31.0
|
|
;;
|
|
esac
|
|
|
|
script:
|
|
- |-
|
|
# Fail if any command fails
|
|
set -e
|
|
|
|
case $TRAVIS_OS_NAME in
|
|
linux | osx)
|
|
# Run linter
|
|
golangci-lint run
|
|
|
|
# Run tests
|
|
go test -race -v -bench=. -coverprofile=coverage.txt -covermode=atomic ./...
|
|
|
|
# Windows-386 build
|
|
GOOS=windows GOARCH=386 VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# Windows-amd64 build
|
|
GOOS=windows GOARCH=amd64 VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# Linux-386 build
|
|
GOOS=linux GOARCH=386 VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# Linux-amd64 build
|
|
GOOS=linux GOARCH=amd64 VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# Linux-arm64 build
|
|
GOOS=linux GOARCH=arm64 VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# Linux-armv6 build
|
|
GOOS=linux GOARCH=arm GOARM=6 VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# Linux-mips build
|
|
GOOS=linux GOARCH=mips GOMIPS=softfloat VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# Linux-mipsle build
|
|
GOOS=linux GOARCH=mipsle GOMIPS=softfloat VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# freebsd-armv6 build
|
|
GOOS=freebsd GOARCH=arm GOARM=6 VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# Darwin-amd64 build
|
|
GOOS=darwin GOARCH=amd64 VERSION=${TRAVIS_TAG:-dev} make release
|
|
|
|
# List build output
|
|
ls -l build/dnscrypt-*
|
|
;;
|
|
windows)
|
|
# Run tests
|
|
go test -race -v -bench=. -coverprofile=coverage.txt -covermode=atomic ./...
|
|
;;
|
|
esac
|
|
|
|
after_success:
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
linux)
|
|
bash <(curl -s https://codecov.io/bash)
|
|
;;
|
|
esac
|
|
|
|
deploy:
|
|
provider: releases
|
|
api_key: $GITHUB_TOKEN
|
|
file:
|
|
- build/dnscrypt-*.zip
|
|
- build/dnscrypt-*.tar.gz
|
|
on:
|
|
repo: ameshkov/dnscrypt
|
|
tags: true
|
|
condition: $TRAVIS_OS_NAME = linux
|
|
file_glob: true
|
|
skip_cleanup: true
|