| 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 | # --disable-tls for the msys2 build to work around |
| 10 | # breakage with clang/lld 16.0.0-1 |
| 11 | - ARCHITECTURE: x64 |
| 12 | CC: clang |
| 13 | CONFIGURE_OPTIONS: --enable-pdb --disable-tls |
| 14 | DISTRO: msys2 |
| 15 | # Skip 32 bit clang build |
| 16 | # - ARCHITECTURE: x86 |
| 17 | # CC: clang |
| 18 | # CONFIGURE_OPTIONS: --enable-pdb |
| 19 | # DISTRO: msys2 |
| 20 | - ARCHITECTURE: x64 |
| 21 | CONFIGURE_OPTIONS: |
| 22 | DISTRO: cygwin |
| 23 | - ARCHITECTURE: x86 |
| 24 | CONFIGURE_OPTIONS: --build-32bit-win |
| 25 | DISTRO: cygwin |
| 26 | |
| 27 | install: |
| 28 | - if %DISTRO%==cygwin ( |
| 29 | SET "PATH=C:\cygwin64\bin;C:\cygwin64;%PATH%" |
| 30 | ) |
| 31 | - if %DISTRO%==msys2 if %ARCHITECTURE%==x86 ( |
| 32 | SET "PATH=C:\msys64\mingw32\bin;C:\msys64\usr\bin;%PATH%" |
| 33 | ) |
| 34 | - if %DISTRO%==msys2 if %ARCHITECTURE%==x64 ( |
| 35 | SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%" |
| 36 | ) |
| 37 | - SET PATH=C:\Python38-x64;%PATH% # NB: Changed env variables persist to later sections |
| 38 | - SET PYTHONUNBUFFERED=TRUE |
| 39 | - bash.exe ci\appveyor-install.sh |
| 40 | |
| 41 | build_script: |
| 42 | - bash.exe configure --extra-cflags=-Werror --disable-native %CONFIGURE_OPTIONS% |
| 43 | - make.exe -j2 |
| 44 | |
| 45 | after_build: |
| 46 | - file.exe fio.exe |
| 47 | - make.exe test |
| 48 | - 'cd os\windows && dobuild.cmd %ARCHITECTURE% && cd ..' |
| 49 | - ls.exe ./os/windows/*.msi |
| 50 | - ps: Get-ChildItem .\os\windows\*.msi | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name -DeploymentName fio.msi } |
| 51 | |
| 52 | test_script: |
| 53 | - python.exe t/run-fio-tests.py --artifact-root test-artifacts --debug |
| 54 | |
| 55 | deploy: |
| 56 | - provider: GitHub |
| 57 | description: fio Windows installer |
| 58 | auth_token: # encrypted token from GitHub |
| 59 | secure: Tjj+xRQEV25P6dQgboUblTCKx/LtUOUav2bvzSCtwMhHMAxrrn2adod6nlTf0ItV |
| 60 | artifact: fio.msi # upload installer to release assets |
| 61 | draft: false |
| 62 | prerelease: false |
| 63 | on: |
| 64 | APPVEYOR_REPO_TAG: true # deploy on tag push only |
| 65 | DISTRO: cygwin |
| 66 | |
| 67 | on_finish: |
| 68 | - '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' |