summaryrefslogtreecommitdiffstats
path: root/appveyor.yml
blob: 1ff58227ed013c89b9a802ef40b8c6b5c5ed3498 (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
---
version: '{branch}-{build}'
skip_tags: true
max_jobs: 1
image: Visual Studio 2013
init:
  - git config --global core.autocrlf input
# Uncomment the following line to show RDP info at beginning of job
#  - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
clone_folder: c:\projects\mixxx
skip_commits:
  files:
    - doc/
    - LICENCE
    - README
    - README.md
    - COPYING
    - CODE_OF_CONDUCT.md

configuration:
  - release
#  - debug
environment:
  matrix:
    - platform: x64
      distdir: dist64
    - platform: x86
      distdir: dist32
matrix:
  fast_finish: false     # set this flag to true to immediately finish build once one of the jobs fails.
cache:
  - C:\mixxx-buildserver
install:
  - cd %TEMP%
  - echo *** Downloading and installing scons
  # SF.net download currently broken from EC2 to some mirrors, so hosting scons myself
#  - curl -fsS -L -o scons-2.5.1.zip http://prdownloads.sourceforge.net/scons/scons-2.5.1.zip
  - curl -fsS -L -o scons-2.5.1.zip https://downloads.mixxx.org/builds/appveyor/environments/2.0/scons-2.5.1.zip
  - 7z x scons-2.5.1.zip
  - cd scons-2.5.1
  - python setup.py install
  - echo *** Downloading precompiled build environment if not in build-cache
  - cd %APPVEYOR_BUILD_FOLDER%
  - build\appveyor\install_buildenv.bat %platform% %configuration%
before_build:
  - cd %APPVEYOR_BUILD_FOLDER%
build_script:
  - build\appveyor\build_mixxx.bat %platform% %configuration%
test_script:
  - echo *** Testing
  # Calling mixxx-test under bash to have standard output
  # and use stdbuf to unbuffer standard & error output
  - bash -c "stdbuf -oL -eL %distdir%/mixxx-test.exe --gtest_output=xml:test_results.xml 2>&1"
  - timeout 5 > NUL
  - bash -c "stdbuf -oL -eL %distdir%/mixxx-test.exe --benchmark 2>&1"
  - timeout 5 > NUL
after_test:
  - ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\test_results.xml))
artifacts:
  - path: '*.exe'
  - path: '*.msi'
on_success:
  - echo "*** SUCCESS ***"
on_failure:
  - echo "*** FAILURE ***"
on_finish:
  # Uncomment the following line if you don't want the build VM to be destroyed
  # and be able to RDP on it until a special “lock” file on VM desktop is deleted
  # The RDP session is limited by overall build time (60 min).
#  - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
  - echo "*** DONE ***"
deploy:
  - provider: Environment
    name: downloads.mixxx.org