summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: fa0457051340e0fdcf79387061ae7f892f23d690 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
name: "Travis Windows build"
os: linux
dist: bionic
language: minimal

# Don't build tags
if: tag IS blank

stages:
  - name: build_windows_pr
    if: type = pull_request
  - name: build_windows_release
    if: (branch =~ /^hotfix\// OR branch =~ /^rel\//) AND type != pull_request

jobs:
  include:
    - stage: build_windows_pr
      os: windows
      name: Windows x64 PR Build
      cache:
        directories:
          - $HOME/AppData/Local/Temp/chocolatey
          - /C/tools/msys64
      script:
        - $mingw64 scripts/travis/build_test.sh

    - stage: build_windows_release
      os: windows
      name: Windows x64 Release Build
      cache:
        directories:
          - $HOME/AppData/Local/Temp/chocolatey
          - /C/tools/msys64
      script:
        - $mingw64 scripts/travis/build_test.sh

# Don't rebuild libsodium every time
cache:
  directories:
    - crypto/lib
    - $HOME/docker_cache

before_install:
- |-
    [[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
    choco uninstall -y mingw
    choco upgrade --no-progress -y msys2
    export msys2='cmd //C RefreshEnv.cmd '
    export msys2+='& set MSYS=winsymlinks:nativestrict '
    export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
    export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
    export msys2+=" -msys2 -c "\"\$@"\" --"
    $msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain unzip
    ## Install more MSYS2 packages from https://packages.msys2.org/base here
    taskkill //IM gpg-agent.exe //F  # https://travis-ci.community/t/4967
    export PATH=/C/tools/msys64/mingw64/bin:$PATH
    export MAKE=mingw32-make  # so that Autotools can find it
    docker load -i $HOME/docker_cache/images.tar || true

before_cache:
- |-
    # https://unix.stackexchange.com/a/137322/107554
    $msys2 pacman --sync --clean --noconfirm
    docker save -o $HOME/docker_cache/images.tar $(docker images -a -q)

addons:
  apt:
    packages:
      - libboost-all-dev
      - fakeroot
      - rpm
      - python3-venv
      - libssl-dev
      - libffi-dev
  artifacts:
    s3_region: "us-east-1"
    paths:
      - $(git ls-files -o | grep -v crypto/libs | grep -v crypto/copies | grep -v crypto/libsodium-fork | grep -v crypto/lib/ | grep -v ^gen/ | grep -v swagger.json.validated | tr "\n" ":")

notifications:
  slack:
    if: branch = "rel/nightly"
    rooms:
      - secure: FvM+GHkfVQyJqounsRO8kcQT2fYljdBp/fODIlgNE1pcd08WKqHa14cpjQN2T/zC7/eeJAwDuk4ADUqgLdb85vSd6KgcYwBaPMLj8b1La/JY17ULpVuD1uke3uDb+OhC084Uo7cYUAcmpPOtX7ujRVXbeRFoj5R6xqyCYEBGeRNaQIJh36Jd1jkKjQGZgcQIMy0JZXTnVwxP1o3ed6mYtVMt0qlBCzHKXTr7CUTFp+TwFoZ99jxvjNEA6cpn1UE82uq08CiQ4ANY51SCMqq6L9y76SRREznjtR3CGGhZYlmewVnlsco6IB0Xe5k4j8GlIlZfV+bJiBaE4GqNKOpt0DcB/hxZtDbe7LcSfdtwU/NG8L1rw4Ktj+ALcEJDuprRhYaafEaL6iOVsOy6YwW2Tbj6xcJzeorTs/p0URkSJ/M1Us7zdOTzLkVeUKAcHIIl4SClHq3svzSwoSyjlwuq18Wp2VWNfQFY3qFd7eZo/meM8UuhRrTai18eX5ZJ9leAdwvwfma1uxS2ZlG8aDupx2Ww19AOZZ8txQtDTn+rzP8U1UnlaOMJStOmdEKfExGy348f1yQcJtOv4armZuEuC6eoIkeznNS8wO/ZkRSWuxDcc5Q1DsQADXfGSMEL36Aa6aDU5Hy7els00qYDImPVL+7rd2pAfSUzFCfA+7klefg=