mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	CI/AppVeyor: per-compiler deps cache #9852
The deps cache does not work for MSVC builds because the MINGW builds ovewrite it. Cache saves 10+ minutes on the build.
This commit is contained in:
		| @@ -18,8 +18,10 @@ build_script: | ||||
| - powershell ci\build.ps1 | ||||
| cache: | ||||
| - C:\msys64\var\cache\pacman\pkg -> ci\build.ps1 | ||||
| - .deps -> ci\build.ps1 | ||||
| - .deps -> third-party\** | ||||
| - deps-MINGW  -> ci\build.ps1 | ||||
| - deps-MSVC   -> ci\build.ps1 | ||||
| - deps-MINGW  -> third-party\** | ||||
| - deps-MSVC   -> third-party\** | ||||
| artifacts: | ||||
| - path: build/Neovim.zip | ||||
| - path: build/bin/nvim.exe | ||||
|   | ||||
| @@ -6,12 +6,15 @@ $compiler = $Matches.compiler | ||||
| $compileOption = $Matches.option | ||||
| $bits = $Matches.bits | ||||
| $cmakeBuildType = 'RelWithDebInfo' | ||||
| $depsDir = [System.IO.Path]::GetFullPath("deps-$($compiler)") | ||||
| $depsCmakeVars = @{ | ||||
|   CMAKE_BUILD_TYPE = $cmakeBuildType; | ||||
| } | ||||
| $nvimCmakeVars = @{ | ||||
|   CMAKE_BUILD_TYPE = $cmakeBuildType; | ||||
|   BUSTED_OUTPUT_TYPE = 'nvim'; | ||||
|   DEPS_BUILD_DIR=$depsDir; | ||||
|   DEPS_PREFIX="$($depsDir)/usr"; | ||||
| } | ||||
| $uploadToCodeCov = $false | ||||
|  | ||||
| @@ -89,10 +92,10 @@ function convertToCmakeArgs($vars) { | ||||
|   return $vars.GetEnumerator() | foreach { "-D$($_.Key)=$($_.Value)" } | ||||
| } | ||||
|  | ||||
| if (-Not (Test-Path -PathType container .deps)) { | ||||
|   mkdir .deps | ||||
| if (-Not (Test-Path -PathType container $depsDir)) { | ||||
|   mkdir "$depsDir" | ||||
| } | ||||
| cd .deps | ||||
| cd "$depsDir" | ||||
| cmake -G $cmakeGenerator $(convertToCmakeArgs($depsCmakeVars)) ..\third-party\ ; exitIfFailed | ||||
| cmake --build . --config $cmakeBuildType -- $cmakeGeneratorArgs ; exitIfFailed | ||||
| cd .. | ||||
|   | ||||
| @@ -1,7 +1,5 @@ | ||||
| local deps_prefix = './.deps/usr' | ||||
| if os.getenv('DEPS_PREFIX') then | ||||
|   deps_prefix = os.getenv('DEPS_PREFIX') | ||||
| end | ||||
| local deps_prefix = (os.getenv('DEPS_PREFIX') and os.getenv('DEPS_PREFIX') | ||||
|                      or './.deps/usr') | ||||
|  | ||||
| package.path = deps_prefix .. '/share/lua/5.1/?.lua;' .. | ||||
|                deps_prefix .. '/share/lua/5.1/?/init.lua;' .. | ||||
|   | ||||
| @@ -235,6 +235,11 @@ local function hasenv(name) | ||||
|   return nil | ||||
| end | ||||
|  | ||||
| local function deps_prefix() | ||||
|   local env = os.getenv('DEPS_PREFIX') | ||||
|   return (env and env ~= '') and env or '.deps/usr' | ||||
| end | ||||
|  | ||||
| local tests_skipped = 0 | ||||
|  | ||||
| local function check_cores(app, force) | ||||
| @@ -263,7 +268,7 @@ local function check_cores(app, force) | ||||
|   else | ||||
|     initial_path = '.' | ||||
|     re = '/core[^/]*$' | ||||
|     exc_re = { '^/%.deps$', local_tmpdir, '^/%node_modules$' } | ||||
|     exc_re = { '^/%.deps$', '^/%'..deps_prefix()..'$', local_tmpdir, '^/%node_modules$' } | ||||
|     db_cmd = gdb_db_cmd | ||||
|     random_skip = true | ||||
|   end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Justin M. Keyes
					Justin M. Keyes