docs: move rate_cycle description
[fio.git] / .appveyor.yml
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'