diff options
Diffstat (limited to 'ci')
-rwxr-xr-x | ci/before_install.sh | 8 | ||||
-rw-r--r-- | ci/build.ps1 | 44 | ||||
-rwxr-xr-x | ci/install.sh | 4 | ||||
-rwxr-xr-x | ci/run_lint.sh | 4 |
4 files changed, 28 insertions, 32 deletions
diff --git a/ci/before_install.sh b/ci/before_install.sh index 283605e113..5810bec71a 100755 --- a/ci/before_install.sh +++ b/ci/before_install.sh @@ -3,10 +3,6 @@ set -e set -o pipefail -if [[ "${CI_TARGET}" == lint ]]; then - exit -fi - echo 'Python info:' ( set -x @@ -47,8 +43,8 @@ if [[ "${TRAVIS_OS_NAME}" == osx ]] || [ ! -f ~/.nvm/nvm.sh ]; then fi source ~/.nvm/nvm.sh -nvm install --lts -nvm use --lts +nvm install 10 +nvm use 10 if [[ -n "$CMAKE_URL" ]]; then echo "Installing custom CMake: $CMAKE_URL" diff --git a/ci/build.ps1 b/ci/build.ps1 index 6d91b97aed..244b4766b2 100644 --- a/ci/build.ps1 +++ b/ci/build.ps1 @@ -1,10 +1,11 @@ -$ErrorActionPreference = 'stop' -Set-PSDebug -Strict -Trace 1 +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' +$ProgressPreference = 'SilentlyContinue' $isPullRequest = ($env:APPVEYOR_PULL_REQUEST_HEAD_COMMIT -ne $null) $env:CONFIGURATION -match '^(?<compiler>\w+)_(?<bits>32|64)(?:-(?<option>\w+))?$' $compiler = $Matches.compiler -$compileOption = $Matches.option +$compileOption = if ($Matches -contains 'option') {$Matches.option} else {''} $bits = $Matches.bits $cmakeBuildType = $(if ($env:CMAKE_BUILD_TYPE -ne $null) {$env:CMAKE_BUILD_TYPE} else {'RelWithDebInfo'}); $buildDir = [System.IO.Path]::GetFullPath("$(pwd)") @@ -23,7 +24,6 @@ $uploadToCodeCov = $false function exitIfFailed() { if ($LastExitCode -ne 0) { - Set-PSDebug -Off exit $LastExitCode } } @@ -98,27 +98,26 @@ npm.cmd install -g neovim Get-Command -CommandType Application neovim-node-host.cmd npm.cmd link neovim -#npm.cmd install -g tree-sitter-cli -#npm.cmd link tree-sitter-cli -mkdir c:\treesitter -$env:TREE_SITTER_DIR = "c:\treesitter" -#$env:PATH = "c:\treesitter;$env:PATH" -$client = new-object System.Net.WebClient -cd c:\treesitter +$env:TREE_SITTER_DIR = $env:USERPROFILE + "\tree-sitter-build" +mkdir "$env:TREE_SITTER_DIR\bin" -if ($bits -eq 32) { - $client.DownloadFile("https://github.com/tree-sitter/tree-sitter/releases/download/0.15.9/tree-sitter-windows-x86.gz", "c:\treesitter\tree-sitter-cli.gz") -} -elseif ($bits -eq 64) { - $client.DownloadFile("https://github.com/tree-sitter/tree-sitter/releases/download/0.15.9/tree-sitter-windows-x64.gz", "c:\treesitter\tree-sitter-cli.gz") +$xbits = if ($bits -eq '32') {'x86'} else {'x64'} +Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/tree-sitter/tree-sitter/releases/download/0.15.9/tree-sitter-windows-$xbits.gz" -OutFile tree-sitter.exe.gz +C:\msys64\usr\bin\gzip -d tree-sitter.exe.gz + +Invoke-WebRequest -UseBasicParsing -Uri "https://codeload.github.com/tree-sitter/tree-sitter-c/zip/v0.15.2" -OutFile tree_sitter_c.zip +Expand-Archive .\tree_sitter_c.zip -DestinationPath . +cd tree-sitter-c-0.15.2 +..\tree-sitter.exe test +if (-Not (Test-Path -PathType Leaf "$env:TREE_SITTER_DIR\bin\c.dll")) { + exit 1 } -python -c "import gzip, shutil; f1,f2 = gzip.open('tree-sitter-cli.gz', 'rb'), open('tree-sitter.exe', 'wb'); shutil.copyfileobj(f1, f2); f2.close()" -$client.DownloadFile("https://codeload.github.com/tree-sitter/tree-sitter-c/zip/v0.15.2","c:\treesitter\tree_sitter_c.zip") -Expand-Archive c:\treesitter\tree_sitter_c.zip -DestinationPath c:\treesitter\ -cd c:\treesitter\tree-sitter-c-0.15.2 -c:\treesitter\tree-sitter.exe test +if ($compiler -eq 'MSVC') { + # Required for LuaRocks (https://github.com/luarocks/luarocks/issues/1039#issuecomment-507296940). + $env:VCINSTALLDIR = "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/" +} function convertToCmakeArgs($vars) { return $vars.GetEnumerator() | foreach { "-D$($_.Key)=$($_.Value)" } @@ -146,8 +145,6 @@ if ($env:USE_LUACOV -eq 1) { # Functional tests # The $LastExitCode from MSBuild can't be trusted $failed = $false -# Temporarily turn off tracing to reduce log file output -Set-PSDebug -Off cmake --build . --config $cmakeBuildType --target functionaltest -- $cmakeGeneratorArgs 2>&1 | foreach { $failed = $failed -or $_ -match 'functional tests failed with error'; $_ } @@ -161,7 +158,6 @@ if ($uploadToCodecov) { if ($failed) { exit $LastExitCode } -Set-PSDebug -Strict -Trace 1 # Old tests # Add MSYS to path, required for e.g. `find` used in test scripts. diff --git a/ci/install.sh b/ci/install.sh index 24a4bd7450..a6cd955da5 100755 --- a/ci/install.sh +++ b/ci/install.sh @@ -4,7 +4,7 @@ set -e set -o pipefail if [[ "${CI_TARGET}" == lint ]]; then - python -m pip -q install --user --upgrade flake8 + python3 -m pip -q install --user --upgrade flake8 exit fi @@ -31,7 +31,6 @@ echo "Install tree-sitter npm package" # https://github.com/tree-sitter/tree-sitter/commit/e14e285a1087264a8c74a7c62fcaecc49db9d904 # If queries added to tree-sitter-c, we can use latest tree-sitter-cli npm install -g tree-sitter-cli@v0.15.9 -npm link tree-sitter-cli echo "Install tree-sitter c parser" curl "https://codeload.github.com/tree-sitter/tree-sitter-c/tar.gz/v0.15.2" -o tree_sitter_c.tar.gz @@ -48,3 +47,4 @@ else cd src/ gcc -m32 -o "$TREE_SITTER_DIR/bin/c.so" -shared parser.c -I. fi +test -f "$TREE_SITTER_DIR/bin/c.so" diff --git a/ci/run_lint.sh b/ci/run_lint.sh index 88af163e80..8373a3cb36 100755 --- a/ci/run_lint.sh +++ b/ci/run_lint.sh @@ -20,6 +20,10 @@ enter_suite 'pylint' run_test 'make pylint' pylint exit_suite --continue +enter_suite 'shlint' +run_test 'make shlint' shlint +exit_suite --continue + enter_suite single-includes CLICOLOR_FORCE=1 run_test_wd \ --allow-hang \ |