136 lines
2.9 KiB
YAML
136 lines
2.9 KiB
YAML
if: repo = AdguardTeam/AdGuardHome
|
|
language: go
|
|
sudo: false
|
|
|
|
go:
|
|
- 1.14.x
|
|
os:
|
|
- linux
|
|
- osx
|
|
- windows
|
|
|
|
before_install:
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
linux | osx)
|
|
nvm install node
|
|
npm install -g npm
|
|
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.23.8
|
|
;;
|
|
windows)
|
|
# Using NVS for managing Node.js versions on Windows
|
|
NVS_HOME="C:\ProgramData\nvs"
|
|
git clone --single-branch https://github.com/jasongin/nvs $NVS_HOME
|
|
source $NVS_HOME/nvs.sh
|
|
nvs add latest
|
|
nvs use latest
|
|
;;
|
|
esac
|
|
|
|
install:
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
linux | osx)
|
|
node --version
|
|
npm --version
|
|
npm --prefix client ci
|
|
;;
|
|
windows)
|
|
node --version
|
|
npm --version
|
|
nvs --version
|
|
npm --prefix client ci
|
|
;;
|
|
esac
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/.cache/go-build
|
|
- $HOME/gopath/pkg/mod
|
|
- $HOME/Library/Caches/go-build
|
|
|
|
script:
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
linux | osx)
|
|
/bin/bash ci.sh
|
|
;;
|
|
windows)
|
|
npm --prefix client run build-prod
|
|
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
|
|
|
|
notifications:
|
|
slack: performix:yXTihlSzsLFSZiqbXMNzvTSX
|
|
|
|
matrix:
|
|
include:
|
|
# Release build configuration
|
|
- if: repo = AdguardTeam/AdGuardHome
|
|
- name: release
|
|
go:
|
|
- 1.14.x
|
|
os:
|
|
- linux
|
|
|
|
script:
|
|
- node -v
|
|
- npm -v
|
|
# Prepare releases
|
|
- ./build_release.sh
|
|
- ls -l dist
|
|
|
|
deploy:
|
|
provider: releases
|
|
api_key: $GITHUB_TOKEN
|
|
file:
|
|
- dist/AdGuardHome_*
|
|
on:
|
|
repo: AdguardTeam/AdGuardHome
|
|
tags: true
|
|
draft: true
|
|
file_glob: true
|
|
skip_cleanup: true
|
|
|
|
# Docker build configuration
|
|
- if: repo = AdguardTeam/AdGuardHome
|
|
- name: docker
|
|
if: type != pull_request AND (branch = master OR tag IS present) AND repo = AdguardTeam/AdGuardHome
|
|
go:
|
|
- 1.14.x
|
|
os:
|
|
- linux
|
|
services:
|
|
- docker
|
|
before_script:
|
|
- nvm install node
|
|
- npm install -g npm
|
|
script:
|
|
- docker login -u="$DOCKER_USER" -p="$DOCKER_PASSWORD"
|
|
- ./build_docker.sh
|
|
after_script:
|
|
- docker images
|
|
|
|
# Snapcraft build configuration
|
|
- if: repo = AdguardTeam/AdGuardHome
|
|
- name: snapcraft
|
|
# if: type != pull_request AND (branch = master OR tag IS present) AND repo = AdguardTeam/AdGuardHome
|
|
if: branch = snapcraft
|
|
go:
|
|
- 1.14.x
|
|
os:
|
|
- linux
|
|
services:
|
|
- docker
|
|
script:
|
|
- ./build_snap.sh
|