version: 1.0.{build}

environment:
  matrix:

  - job_name: Windows 32
    appveyor_build_worker_image: Visual Studio 2019

  - job_name: Windows 64
    appveyor_build_worker_image: Visual Studio 2019

  - job_name: Win64 Qt
    appveyor_build_worker_image: Visual Studio 2019

  - job_name: Ubuntu
    appveyor_build_worker_image: Ubuntu2004

  - job_name: MacOS
    appveyor_build_worker_image: macos-bigsur

for:

  -
    matrix:
      only:
        - job_name: Windows 32

    build_script:
    - cmd: pipelines/WinAppveyorBuild.bat win32

  -
    matrix:
      only:
        - job_name: Windows 64

    build_script:
    - cmd: pipelines/WinAppveyorBuild.bat win64

  -
    matrix:
      only:
        - job_name: Win64 Qt

    build_script:
    - cmd: pipelines/WinAppveyorBuild.bat win64-QtSDL

  -
    matrix:
      only:
        - job_name: Ubuntu

    build_script:
    - sh: perl pipelines/build.pl linux

  -
    matrix:
      only:
        - job_name: MacOS

    build_script:
    - sh: perl pipelines/build.pl macOS

deploy:

  - provider: GitHub
    tag: interim-build
    release: interim-build
    description: 'Interim Builds - Latest auto builds off master branch - commit: $(APPVEYOR_REPO_COMMIT)\nDate: $(APPVEYOR_REPO_COMMIT_TIMESTAMP)'
    auth_token:
      secure: pYXqhuxNn7vivsJ6cnWCHlORrTtaWO7fyGOvGFUNKtM2apSY44gjbAhGIlD+OdtF
    artifact: $(WIN32_ARTIFACT), $(WIN64_ARTIFACT), $(WIN64_QTSDL_ARTIFACT), $(MACOS_ARTIFACT), $(LINUX_ARTIFACT)
    draft: false
    prerelease: true
    force_update: true
    on:
      branch: master                 # release from master branch only
      APPVEYOR_REPO_TAG: false       # never deploy on tag push

  - provider: GitHub
    description: 'Release Builds - commit: $(APPVEYOR_REPO_COMMIT)'
    auth_token:
      secure: pYXqhuxNn7vivsJ6cnWCHlORrTtaWO7fyGOvGFUNKtM2apSY44gjbAhGIlD+OdtF
    artifact: $(WIN32_ARTIFACT), $(WIN64_ARTIFACT), $(WIN64_QTSDL_ARTIFACT), $(MACOS_ARTIFACT)
    draft: false
    prerelease: false
    force_update: false
    on:
      APPVEYOR_REPO_TAG: true       # deploy on tag push only
