if: repo = AdguardTeam/AdGuardHome
language: go
sudo: false

go:
  - 1.13.x
os:
  - linux
  - osx

before_install:
  - 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.19.1

install:
  - npm --prefix client ci

cache:
  directories:
    - $HOME/.cache/go-build
    - $HOME/gopath/pkg/mod
    - $HOME/Library/Caches/go-build

script:
  - /bin/bash ci.sh

after_success:
  - bash <(curl -s https://codecov.io/bash)

notifications:
  slack: performix:yXTihlSzsLFSZiqbXMNzvTSX

matrix:
  include:
    # Release build configuration
    - if: repo = AdguardTeam/AdGuardHome
    - name: release
      go:
        - 1.13.x
      os:
        - linux

      script:
        - node -v
        - npm -v
        # Prepare releases
        - ./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

    - name: docker
      if: type != pull_request AND (branch = master OR tag IS present) AND repo = AdguardTeam/AdGuardHome
      go:
        - 1.13.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