| 1 | clone_depth: 1 # NB: this stops FIO-VERSION-GEN making tag based versions |
| 2 | |
| 3 | image: |
| 4 | - Visual Studio 2019 |
| 5 | |
| 6 | environment: |
| 7 | CYG_MIRROR: http://cygwin.mirror.constant.com |
| 8 | matrix: |
| 9 | - ARCHITECTURE: x64 |
| 10 | CC: clang |
| 11 | CONFIGURE_OPTIONS: --enable-pdb |
| 12 | DISTRO: msys2 |
| 13 | # Skip 32 bit clang build |
| 14 | # - ARCHITECTURE: x86 |
| 15 | # CC: clang |
| 16 | # CONFIGURE_OPTIONS: --enable-pdb |
| 17 | # DISTRO: msys2 |
| 18 | - ARCHITECTURE: x64 |
| 19 | CONFIGURE_OPTIONS: |
| 20 | DISTRO: cygwin |
| 21 | - ARCHITECTURE: x86 |
| 22 | CONFIGURE_OPTIONS: --build-32bit-win |
| 23 | DISTRO: cygwin |
| 24 | |
| 25 | install: |
| 26 | - if %DISTRO%==cygwin ( |
| 27 | SET "PATH=C:\cygwin64\bin;C:\cygwin64;%PATH%" |
| 28 | ) |
| 29 | - if %DISTRO%==msys2 if %ARCHITECTURE%==x86 ( |
| 30 | SET "PATH=C:\msys64\mingw32\bin;C:\msys64\usr\bin;%PATH%" |
| 31 | ) |
| 32 | - if %DISTRO%==msys2 if %ARCHITECTURE%==x64 ( |
| 33 | SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%" |
| 34 | ) |
| 35 | - SET PATH=C:\Python38-x64;%PATH% # NB: Changed env variables persist to later sections |
| 36 | - SET PYTHONUNBUFFERED=TRUE |
| 37 | - bash.exe ci\appveyor-install.sh |
| 38 | |
| 39 | build_script: |
| 40 | - bash.exe configure --extra-cflags=-Werror --disable-native %CONFIGURE_OPTIONS% |
| 41 | - make.exe -j2 |
| 42 | |
| 43 | after_build: |
| 44 | - file.exe fio.exe |
| 45 | - make.exe test |
| 46 | - 'cd os\windows && dobuild.cmd %ARCHITECTURE% && cd ..' |
| 47 | - ls.exe ./os/windows/*.msi |
| 48 | - ps: Get-ChildItem .\os\windows\*.msi | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name -DeploymentName fio.msi } |
| 49 | |
| 50 | test_script: |
| 51 | - python.exe t/run-fio-tests.py --artifact-root test-artifacts --debug |
| 52 | |
| 53 | deploy: |
| 54 | - provider: GitHub |
| 55 | description: fio Windows installer |
| 56 | auth_token: # encrypted token from GitHub |
| 57 | secure: Tjj+xRQEV25P6dQgboUblTCKx/LtUOUav2bvzSCtwMhHMAxrrn2adod6nlTf0ItV |
| 58 | artifact: fio.msi # upload installer to release assets |
| 59 | draft: false |
| 60 | prerelease: false |
| 61 | on: |
| 62 | APPVEYOR_REPO_TAG: true # deploy on tag push only |
| 63 | DISTRO: cygwin |
| 64 | |
| 65 | on_finish: |
| 66 | - 'bash.exe -lc "cd \"${APPVEYOR_BUILD_FOLDER}\" && [ -d test-artifacts ] && 7z a -t7z test-artifacts.7z test-artifacts -xr!foo.0.0 -xr!latency.?.0 -xr!fio_jsonplus_clat2csv.test && appveyor PushArtifact test-artifacts.7z' |