mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-12 22:14:54 +00:00
Remove niche languages with heavy toolchains from execution in GH actions
This commit is contained in:
1 parent
644eb763eb
commit
595cf19b87
7 files changed
+9
-83
No files matched your search
@@ -92,12 +92,6 @@ jobs:
|
||||
if: steps.cache-go-binaries.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: go install golang.org/x/tools/gopls@latest
|
||||
- name: Set up Elixir
|
||||
if: runner.os != 'Windows'
|
||||
uses: erlef/setup-beam@v1
|
||||
with:
|
||||
elixir-version: "1.19.3"
|
||||
otp-version: "28"
|
||||
# Erlang currently not tested in CI, random hangings on macos, always hangs on ubuntu
|
||||
# In local tests, erlang seems to work though
|
||||
# - name: Install Erlang Language Server
|
||||
@@ -202,77 +196,6 @@ jobs:
|
||||
- name: Install Ruby language server
|
||||
shell: bash
|
||||
run: gem install ruby-lsp
|
||||
- name: Install OCaml and opam
|
||||
uses: ocaml/setup-ocaml@v3
|
||||
with:
|
||||
ocaml-compiler: ${{ runner.os == 'Windows' && '4.14' || '5.3.x' }}
|
||||
dune-cache: true
|
||||
opam-repositories: |
|
||||
${{ runner.os == 'Windows' && 'opam-repository-mingw: https://github.com/ocaml-opam/opam-repository-mingw.git#sunset' || '' }}
|
||||
default: https://github.com/ocaml/opam-repository.git
|
||||
- name: Install OCaml packages
|
||||
shell: bash
|
||||
run: |
|
||||
if [ "$RUNNER_OS" = "Windows" ]; then
|
||||
opam install -y dune ocaml-lsp-server
|
||||
else
|
||||
# Require ocaml-lsp-server >= 1.23.0 for cross-file reference support
|
||||
opam install -y dune 'ocaml-lsp-server>=1.23.0'
|
||||
fi
|
||||
- name: Install R
|
||||
uses: r-lib/actions/setup-r@v2
|
||||
with:
|
||||
r-version: '4.4.2'
|
||||
use-public-rspm: true
|
||||
- name: Install R sysdeps (libuv for fs package)
|
||||
if: runner.os == 'Linux'
|
||||
shell: bash
|
||||
run: sudo apt-get update && sudo apt-get install -y libuv1-dev
|
||||
- name: Install R language server
|
||||
shell: bash
|
||||
run: |
|
||||
Rscript -e "install.packages('languageserver', repos='https://cloud.r-project.org')"
|
||||
- name: Set up Julia
|
||||
uses: julia-actions/setup-julia@v2
|
||||
with:
|
||||
version: '1.12.6'
|
||||
- name: Install Julia LanguageServer
|
||||
shell: bash
|
||||
run: julia -e 'using Pkg; Pkg.add(Pkg.PackageSpec(name="LanguageServer", version="5.0.0"))'
|
||||
- name: Setup Haskell toolchain
|
||||
if: runner.os != 'Windows'
|
||||
uses: haskell/ghcup-setup@v1
|
||||
with:
|
||||
ghc: '9.12.2'
|
||||
cabal: '3.10.3.0'
|
||||
hls: '2.11.0.0'
|
||||
- name: Verify Haskell tools
|
||||
if: runner.os != 'Windows'
|
||||
run: |
|
||||
echo "Verifying installed Haskell tools:"
|
||||
which ghc && ghc --version
|
||||
which cabal && cabal --version
|
||||
# HLS verification - non-blocking in case of version incompatibility
|
||||
if command -v haskell-language-server-wrapper &>/dev/null; then
|
||||
echo "Found haskell-language-server-wrapper"
|
||||
haskell-language-server-wrapper --version || echo "WARNING: HLS wrapper found but version check failed"
|
||||
elif command -v haskell-language-server &>/dev/null; then
|
||||
echo "Found haskell-language-server"
|
||||
haskell-language-server --version || echo "WARNING: HLS found but version check failed"
|
||||
else
|
||||
echo "WARNING: HLS not found (may be incompatible with GHC 9.12.2)"
|
||||
echo "This is not a critical error - tests will use HLS if available at runtime"
|
||||
fi
|
||||
shell: bash
|
||||
- name: Pre-build Haskell test project for HLS
|
||||
if: runner.os != 'Windows'
|
||||
run: |
|
||||
cd test/resources/repos/haskell/test_repo
|
||||
cabal update
|
||||
cabal build --only-dependencies
|
||||
cabal build
|
||||
echo "Haskell test project built successfully"
|
||||
shell: bash
|
||||
- name: Install Zig
|
||||
uses: mlugg/setup-zig@v2
|
||||
with:
|
||||
|
||||
@@ -12,6 +12,7 @@ from test.solidlsp.conftest import format_symbol_for_assert, has_malformed_name,
|
||||
|
||||
pytestmark = pytest.mark.skip("BSL is a niche language, the tests are slow and flaky.")
|
||||
|
||||
|
||||
@pytest.mark.bsl
|
||||
class TestBSLLanguageServer:
|
||||
@pytest.mark.parametrize("language_server", [Language.BSL], indirect=True)
|
||||
|
||||
@@ -23,6 +23,8 @@ from solidlsp.ls_types import SymbolKind
|
||||
from test.solidlsp.conftest import format_symbol_for_assert, has_malformed_name, request_all_symbols
|
||||
from test.solidlsp.util.diagnostics import assert_file_diagnostics
|
||||
|
||||
pytestmark = pytest.mark.skip("Haskell installation is heavy, the tests should be executed only on demand")
|
||||
|
||||
|
||||
@pytest.mark.haskell
|
||||
@pytest.mark.skipif(sys.platform == "win32", reason="HLS not installed on Windows CI")
|
||||
|
||||
@@ -4,12 +4,11 @@ import pytest
|
||||
|
||||
from solidlsp.ls import SolidLanguageServer
|
||||
from solidlsp.ls_config import Language
|
||||
from test.conftest import is_ci
|
||||
from test.solidlsp.conftest import format_symbol_for_assert, has_malformed_name, request_all_symbols
|
||||
from test.solidlsp.util.diagnostics import assert_file_diagnostics
|
||||
|
||||
|
||||
@pytest.mark.skipif(shutil.which("julia") is None and not is_ci, reason="Julia is not available")
|
||||
@pytest.mark.skipif(shutil.which("julia") is None, reason="Julia is not available")
|
||||
@pytest.mark.julia
|
||||
class TestJuliaLanguageServer:
|
||||
@pytest.mark.parametrize("language_server", [Language.JULIA], indirect=True)
|
||||
|
||||
@@ -6,11 +6,10 @@ import pytest
|
||||
from solidlsp import SolidLanguageServer
|
||||
from solidlsp.ls_config import Language
|
||||
from solidlsp.ls_utils import SymbolUtils
|
||||
from test.conftest import is_ci
|
||||
from test.solidlsp.conftest import format_symbol_for_assert, has_malformed_name, request_all_symbols
|
||||
|
||||
|
||||
@pytest.mark.skipif(shutil.which("opam") is None and not is_ci, reason="OPAM is not available")
|
||||
@pytest.mark.skipif(shutil.which("opam") is None, reason="OPAM is not available")
|
||||
@pytest.mark.ocaml
|
||||
class TestOCamlLanguageServer:
|
||||
@pytest.mark.parametrize("language_server", [Language.OCAML], indirect=True)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import shutil
|
||||
|
||||
import pytest
|
||||
|
||||
from solidlsp import SolidLanguageServer
|
||||
@@ -5,6 +7,7 @@ from solidlsp.ls_config import Language
|
||||
from test.solidlsp.util.diagnostics import assert_file_diagnostics
|
||||
|
||||
|
||||
@pytest.mark.skipif(shutil.which("opam") is None, reason="OPAM is not available")
|
||||
@pytest.mark.ocaml
|
||||
class TestOcamlDiagnostics:
|
||||
@pytest.mark.parametrize("language_server", [Language.OCAML], indirect=True)
|
||||
|
||||
@@ -10,11 +10,10 @@ import pytest
|
||||
|
||||
from solidlsp import SolidLanguageServer
|
||||
from solidlsp.ls_config import Language
|
||||
from test.conftest import is_ci
|
||||
from test.solidlsp.conftest import format_symbol_for_assert, has_malformed_name, request_all_symbols
|
||||
|
||||
|
||||
@pytest.mark.skipif(shutil.which("R") is None and not is_ci, reason="R is not available")
|
||||
@pytest.mark.skipif(shutil.which("R") is None, reason="R is not available")
|
||||
@pytest.mark.r
|
||||
class TestRLanguageServer:
|
||||
"""Test basic functionality of the R language server."""
|
||||
|
||||
Reference in new issue
Block a user