aboutsummaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authordundargoc <33953936+dundargoc@users.noreply.github.com>2022-05-16 00:59:58 +0200
committerGitHub <noreply@github.com>2022-05-15 15:59:58 -0700
commitf8af81445bb48966d54f4a956842d935d009d275 (patch)
tree59fe07ee345a223818a50d514f6aba5102eb4f49 /ci
parent59ba66d1ab64be1b01154d0cab7f8af9fe02e93d (diff)
downloadrneovim-f8af81445bb48966d54f4a956842d935d009d275.tar.gz
rneovim-f8af81445bb48966d54f4a956842d935d009d275.tar.bz2
rneovim-f8af81445bb48966d54f4a956842d935d009d275.zip
ci: remove mingw job #18580
Unnecessary CI builds increase the change of spurious failures, which are costly noise. Of course, we should fix all legitimate bugs, but we also cannot micro-manage every platform, so there needs to be a clear motivation for the CI builds that we maintain. Reasons against maintaining a mingw CI job: 1. The windows mingw build is slow. 2. Failures: - https://github.com/neovim/neovim/issues/18494 - https://github.com/neovim/neovim/issues/18495 3. The mingw artifact is 10x bigger than the windows MSVC artifact: https://github.com/neovim/neovim/issues/10560 4. Our releases publish the MSVC (not mingw) artifact for Windows users: https://github.com/neovim/neovim/releases 5. Non-MSVCRT has limitations documented by libuv: http://docs.libuv.org/en/v1.x/process.html > On Windows file descriptors greater than 2 are available to the child process only if the child processes uses the MSVCRT runtime. Closes https://github.com/neovim/neovim/issues/18551
Diffstat (limited to 'ci')
-rw-r--r--ci/build.ps177
1 files changed, 14 insertions, 63 deletions
diff --git a/ci/build.ps1 b/ci/build.ps1
index 533e5804c9..99f66f7de2 100644
--- a/ci/build.ps1
+++ b/ci/build.ps1
@@ -40,55 +40,14 @@ if (-Not (Test-Path -PathType container $env:DEPS_BUILD_DIR)) {
write-host "cache dir $($env:DEPS_BUILD_DIR) size: $(Get-ChildItem $env:DEPS_BUILD_DIR -recurse | Measure-Object -property length -sum | Select -expand sum)"
}
-if ($compiler -eq 'MINGW') {
- if ($bits -eq 32) {
- $arch = 'i686'
- }
- elseif ($bits -eq 64) {
- $arch = 'x86_64'
- }
- if ($compileOption -eq 'gcov') {
- $nvimCmakeVars['USE_GCOV'] = 'ON'
- $uploadToCodecov = $true
- $env:GCOV = "C:\msys64\mingw$bits\bin\gcov"
-
- # Setup/build Lua coverage.
- $env:USE_LUACOV = 1
- $env:BUSTED_ARGS = "--coverage"
- }
- # These are native MinGW builds, but they use the toolchain inside
- # MSYS2, this allows using all the dependencies and tools available
- # in MSYS2, but we cannot build inside the MSYS2 shell.
- $cmakeGenerator = 'Ninja'
- $cmakeGeneratorArgs = '-v'
- $mingwPackages = @('ninja', 'cmake', 'diffutils').ForEach({
- "mingw-w64-$arch-$_"
- })
-
- # Add MinGW to the PATH
- $env:PATH = "C:\msys64\mingw$bits\bin;$env:PATH"
-
- # Avoid pacman "warning" which causes non-zero return code. https://github.com/open62541/open62541/issues/2068
- & C:\msys64\usr\bin\mkdir -p /var/cache/pacman/pkg
-
- # Build third-party dependencies
- C:\msys64\usr\bin\bash -lc "pacman --verbose --noconfirm -Syu" ; exitIfFailed
- # Update again in case updating pacman changes pacman.conf
- C:\msys64\usr\bin\bash -lc "pacman --verbose --noconfirm -Syu" ; exitIfFailed
- C:\msys64\usr\bin\bash -lc "pacman --verbose --noconfirm --needed -S $mingwPackages" ; exitIfFailed
-}
-elseif ($compiler -eq 'MSVC') {
- $cmakeGeneratorArgs = '/verbosity:normal'
- $cmakeGenerator = 'Visual Studio 16 2019'
-}
-
-if ($compiler -eq 'MSVC') {
- $installationPath = vswhere.exe -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
- if ($installationPath -and (test-path "$installationPath\Common7\Tools\vsdevcmd.bat")) {
- & "${env:COMSPEC}" /s /c "`"$installationPath\Common7\Tools\vsdevcmd.bat`" -arch=x${bits} -no_logo && set" | foreach-object {
- $name, $value = $_ -split '=', 2
- set-content env:\"$name" $value
- }
+$cmakeGeneratorArgs = '/verbosity:normal'
+$cmakeGenerator = 'Visual Studio 16 2019'
+
+$installationPath = vswhere.exe -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
+if ($installationPath -and (test-path "$installationPath\Common7\Tools\vsdevcmd.bat")) {
+ & "${env:COMSPEC}" /s /c "`"$installationPath\Common7\Tools\vsdevcmd.bat`" -arch=x${bits} -no_logo && set" | foreach-object {
+ $name, $value = $_ -split '=', 2
+ set-content env:\"$name" $value
}
}
@@ -111,14 +70,10 @@ function convertToCmakeArgs($vars) {
}
cd $env:DEPS_BUILD_DIR
-if ($compiler -eq 'MSVC') {
- if ($bits -eq 32) {
- cmake -G $cmakeGenerator -A Win32 $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed
- } else {
- cmake -G $cmakeGenerator -A x64 $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed
- }
+if ($bits -eq 32) {
+ cmake -G $cmakeGenerator -A Win32 $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed
} else {
- cmake -G $cmakeGenerator $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed
+ cmake -G $cmakeGenerator -A x64 $(convertToCmakeArgs($depsCmakeVars)) "$buildDir/third-party/" ; exitIfFailed
}
cmake --build . --config $cmakeBuildType -- $cmakeGeneratorArgs ; exitIfFailed
cd $buildDir
@@ -126,14 +81,10 @@ cd $buildDir
# Build Neovim
mkdir build
cd build
-if ($compiler -eq 'MSVC') {
- if ($bits -eq 32) {
- cmake -G $cmakeGenerator -A Win32 $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed
- } else {
- cmake -G $cmakeGenerator -A x64 $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed
- }
+if ($bits -eq 32) {
+ cmake -G $cmakeGenerator -A Win32 $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed
} else {
- cmake -G $cmakeGenerator $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed
+ cmake -G $cmakeGenerator -A x64 $(convertToCmakeArgs($nvimCmakeVars)) .. ; exitIfFailed
}
cmake --build . --config $cmakeBuildType -- $cmakeGeneratorArgs ; exitIfFailed
.\bin\nvim --version ; exitIfFailed