--- version: '{branch}-{build}' skip_tags: true shallow_clone: true max_jobs: 1 image: - Visual Studio 2017 - Ubuntu2004 configuration: - release-fastbuild - release # - debug platform: # Disable x86 builds since we only get one concurrent build on AppVeyor and x86 # failures will be caught by Jenkins. # - x86 - x64 matrix: exclude: # Ubuntu doesn't support "release-fastbuild". - image: Ubuntu2004 configuration: release-fastbuild # We only want "release-fastbuild" for Windows since "release" consumes too # much memory due to link-time code generation / whole-program optimization. - image: Visual Studio 2017 configuration: release skip_commits: files: - doc/ - .travis.yml - LICENSE - README - README.md - CHANGELOG - COPYING - CODE_OF_CONDUCT.md for: ########## UBUNTU SPECIFIC CONFIGURATION ########## - matrix: only: - image: Ubuntu2004 clone_folder: /home/appveyor/projects/mixxx cache: - /home/appveyor/.ccache install: - sudo apt update - sudo apt -y install ccache cmake libavcodec-dev libavformat-dev libavutil-dev libchromaprint-dev libebur128-dev libflac-dev libid3tag0-dev liblilv-dev libmad0-dev libmodplug-dev libmp3lame-dev libopus-dev libopusfile-dev libportmidi-dev libprotobuf-dev libqt5opengl5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5x11extras5-dev librubberband-dev libshout3-dev libsndfile1-dev libsoundtouch-dev libsqlite3-dev libswresample-dev libtag1-dev libupower-glib-dev libusb-1.0-0-dev libwavpack-dev portaudio19-dev protobuf-compiler qt5-default qtdeclarative5-dev qt5keychain-dev qtscript5-dev xsltproc before_build: # Limit cache size to 100 MB - ccache -M 100M - ccache -c - ccache -s build_script: - export CMAKE_BUILD_PARALLEL_LEVEL="$(nproc)" - mkdir cmake_build - cd cmake_build # TODO: Set -DDEBUG_ASSERTIONS_FATAL=OFF before deploying CI builds as releases!!! - cmake -L -DCMAKE_BUILD_TYPE=Release -DWARNINGS_FATAL=ON -DDEBUG_ASSERTIONS_FATAL=ON -DBATTERY=ON -DBROADCAST=ON -DBULK=ON -DFFMPEG=ON -DHID=ON -DLILV=ON -DLOCALECOMPARE=ON -DMAD=ON -DMODPLUG=ON -DOPUS=ON -DQTKEYCHAIN=ON -DVINYLCONTROL=ON -DWAVPACK=ON .. - cmake --build . - sudo cmake --build . --target install test_script: - export CTEST_OUTPUT_ON_FAILURE=1 - export QT_QPA_PLATFORM=offscreen - ctest -T test --no-compress-output - cmake --build . --target benchmark after_test: - xsltproc -o ctest-to-junit-results.xml ../cmake/ctest-to-junit.xsl Testing/*/Test.xml - curl -F 'file=@ctest-to-junit-results.xml' "https://ci.appveyor.com/api/testresults/junit/$APPVEYOR_JOB_ID" ########## END UBUNTU SPECIFIC CONFIGURATION ########## ########## WINDOWS SPECIFIC CONFIGURATION ########## - matrix: only: - image: Visual Studio 2017 fast_finish: false # set this flag to true to immediately finish build once one of the jobs fails. 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 cache: - C:\mixxx-buildserver - C:\Users\appveyor\clcache environment: ENVIRONMENTS_URL: https://downloads.mixxx.org/builds/buildserver/2.3.x-windows/ ENVIRONMENTS_PATH: C:\mixxx-buildserver MSVC_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community" PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%' CODESIGN_CERTIFICATE_PATH: build\certificates\windows_sectigo_codesign_certificate.pfx CODESIGN_CERTIFICATE_SECURE_FILE_SECRET: secure: 1xzNVbLop/5/ySSgZxPzyOz5cm8nVMLEIEW4x0XOJjI= CODESIGN_CERTIFICATE_SECURE_FILE_SALT: secure: tw+bg3qfia7+WQdBdXtC301Z9Dv7yQ6SwpWcFJav9YC4zwyyGztev6pAbGE93sln4VO0WRCJ+4/KTviBMPXvXQ== CODESIGN_CERTIFICATE_PASSWORD: secure: EiAsLAgrsS+N3rr71AAkXPCrxIe2vLvlOvCipnTw6pg= install: - set /P ENVIRONMENT_NAME=