-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathappveyor.yml
84 lines (74 loc) · 2.38 KB
/
appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
environment:
APPVEYOR_CACHE_ENTRY_ZIP_ARGS: "-t7z -m0=lzma -mx=9"
# image maybe needed by neovim build script
image: Visual Studio 2017
global:
# This is the Rust channel that build jobs will use by default but can be
# overridden on a case by case basis down below
RUST_VERSION: stable
# Update this to match the name of your project.
CRATE_NAME: nvimpam
matrix:
# MinGW
# CONFIGURATION used by nvim build script
- TARGET: i686-pc-windows-gnu
CONFIGURATION: MINGW_32
RUST_VERSION: stable
FUNCTIONALTESTS: true
- TARGET: i686-pc-windows-gnu
RUST_VERSION: beta
FUNCTIONALTESTS: false
- TARGET: i686-pc-windows-gnu
RUST_VERSION: nightly
FUNCTIONALTESTS: false
# MSVC
- TARGET: i686-pc-windows-msvc
RUST_VERSION: stable
FUNCTIONALTESTS: false
matrix:
allow_failures:
- RUST_VERSION: beta
- RUST_VERSION: nightly
install:
- ps: >-
If ($Env:TARGET -eq 'x86_64-pc-windows-gnu') {
$Env:PATH += ';C:\msys64\mingw64\bin'
} ElseIf ($Env:TARGET -eq 'i686-pc-windows-gnu') {
$Env:PATH += ';C:\msys64\mingw32\bin'
}
- curl -sSf -o rustup-init.exe https://win.rustup.rs/
- rustup-init.exe -y --default-host %TARGET% --default-toolchain %RUST_VERSION%
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
- rustc -Vv
- cargo -V
- git submodule update --init --recursive
build_script:
- cargo build
test_script:
- cargo test
- ps: |
if ($env:FUNCTIONALTESTS -eq 'true') {
echo "---> Functionaltests"
$env:TEST_FILE = '..\test\nvimpam_spec.lua'
$env:RUSTFLAGS = '-C opt-level=0'
}
- ps: |
if ($env:FUNCTIONALTESTS -eq 'true') {
git clone https://github.com/Vigemus/impromptu.nvim
mv impromptu.nvim ..
cargo build --release
cd neovim
cp ..\target\release\nvimpam.exe .
Get-Content ci\build.ps1 | Select-String -pattern "(python|gem.cmd|ruby|npm|neovim-node-host|testdir|cpack|ErrorActionPreference)" -notmatch | Out-File ci\build2.ps1
& 'ci\build2.ps1'
}
- cd ..
- cmd: if [%FUNCTIONALTESTS%] == [true] (
cargo bench -- --test )
cache:
- C:\Users\appveyor\.cargo
#- target
#- neovim\.deps -> neovim\third-party\**
#- neovim\build -> neovim\src\nvim\**
# Building is done in the test phase, so we disable Appveyor's build phase.
build: Script