Codebase list sonic-pi / lintian-fixes/main appveyor.yml
lintian-fixes/main

Tree @lintian-fixes/main (Download .tar.gz)

appveyor.yml @lintian-fixes/mainraw · history · blame

# Build worker image (VM template)
image:
  - Visual Studio 2019
  - macos
  - Ubuntu

configuration:
  - Release
  - Debug

branches:
  only:
  - master

platform:
  - x64

matrix:
  fast_finish: true

for:
# Windows build
-
  matrix:
    only:
      - image: Visual Studio 2019

  configuration:
    - Release
    - Debug

  environment:
    MSBUILD_FLAGS: /verbosity:minimal /maxcpucount
    matrix:
      - generator: "Visual Studio 16 2019"

  init:
    # scripts that are called at very beginning, before repo cloning
    - date /T & time /T
    - git config --global core.autocrlf input
    - cmake --version
  install:
    - dir c:\
    - dir c:\Qt
    - cd %APPVEYOR_BUILD_FOLDER%
    - dir
    - cd app\server\native
    - mklink /d ruby c:\Ruby26-x64
    - set PATH=c:\Ruby26-x64\bin;C:\Program Files (x86)\WiX Toolset v3.11\bin;%PATH%
    - gem install aubio win32-process
    - gem install rugged --version 0.27.1
    - set QT_INSTALL_LOCATION=C:\Qt\5.14\msvc2017_64
    - set Qt5_DIR=C:\Qt\5.14\msvc2017_64\lib\cmake\Qt5
  build_script:
    # generate build script
    - cd %APPVEYOR_BUILD_FOLDER%
    - cd app\gui\qt
    - win-prebuild.bat
    - win-config.bat
    - cd build
    - cmake --build . --target ALL_BUILD --config %configuration% -- /nologo /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
  after_build:
    - cd %APPVEYOR_BUILD_FOLDER%
    - cd install\windows
    - IF "%configuration%"=="Release" install.bat
    #- IF "%configuration%"=="Release" appveyor PushArtifact wix\sonic-pi.msi


# macOS build
-
  matrix:
    only:
      - image: macos

  configuration:
    - Release
    - Debug

  init:
    # scripts that are called at very beginning, before repo cloning
    - date '+%Y-%m-%d %T %Z(UTC%z)'
    - cmake --version
    - # Update Homebrew; cleanup cache; output details about Homebrew's config; and check brew & print any warnings (for debugging)
    - brew update
    - brew cleanup
    - brew config
    - brew doctor || true
  install:
    - cd "$APPVEYOR_BUILD_FOLDER"
    - ls -lA
    - # Install erlang & aubio
    - # (We install aubio using brew instead of building it from source so that the build can complete within the 1 hour time limit)
    - brew install erlang aubio
    - # Relink gettext to Homebrew folders to hopefully fix symbol errors (based from https://github.com/EOSIO/eos/issues/2174)
    - brew link gettext --force
    - export PATH="/usr/local/opt/gettext/bin:$PATH" # Add gettext to the path
    - # Install prerequisite ruby gems
    - sudo gem install bundler
  build_script:
    # generate build script
    - cd "$APPVEYOR_BUILD_FOLDER"
    - cd app/gui/qt
    - ./unix-prebuild.sh
    - # (We don't build aubio from source in prebuild, but instead use the brew installed version so that the build can complete within the 1 hour time limit)
    - ./unix-config.sh --config $CONFIGURATION
    - cd build
    - cmake --build .

# Ubuntu Linux build
-
  matrix:
    only:
      - image: Ubuntu

  configuration:
    - Release
    - Debug

  init:
    # scripts that are called at very beginning, before repo cloning
    - date '+%Y-%m-%d %T %Z(UTC%z)'
    - cmake --version
  install:
    - cd "$APPVEYOR_BUILD_FOLDER"
    - ls -lA
    - sudo apt-get update
    - # Remove old versions of CMake if pre-installed
    - sudo apt-get purge -y --auto-remove cmake
    - # Add Kitware's apt repo (for newest CMake)
    - sudo apt-get install apt-transport-https ca-certificates gnupg software-properties-common wget
    - wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    - sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
    - sudo apt-get update
    - # Install prerequisite packages
    - sudo apt-get install -y git build-essential cmake ruby ruby-dev erlang-base
    - sudo apt-get install -y qt5-default libqt5svg5-dev qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev qtpositioning5-dev libqt5sensors5-dev libqt5opengl5-dev qtmultimedia5-dev
    - sudo apt-get install -y libjack-jackd2-dev libasound2-dev libavahi-client-dev libicu-dev libreadline6-dev libfftw3-dev libxt-dev libudev-dev libboost-dev libffi-dev
    - # Install prerequisite ruby gems
    - sudo gem install bundler
  build_script:
    # generate build script
    - cd "$APPVEYOR_BUILD_FOLDER"
    - cd app/gui/qt
    - ./unix-prebuild.sh --build-aubio
    - ./unix-config.sh --config $CONFIGURATION
    - cd build
    - cmake --build .