Skip to content

Fix dangling registered project poisoning project lookup/activation #66

Fix dangling registered project poisoning project lookup/activation

Fix dangling registered project poisoning project lookup/activation #66

Workflow file for this run

name: Parallel Matrix CI
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository }}-maximal:latest
strategy:
fail-fast: false
matrix:
include:
- batch_name: "Heavy Toolchains (C++, Rust, Java)"
marker_expr: 'cpp or rust or java'
- batch_name: "Medium Toolchains (Go)"
marker_expr: 'go'
- batch_name: "Catch-All (Core Framework & Remaining Languages)"
marker_expr: 'not cpp and not rust and not java and not go and not elm and not r and not rego and not scala'
name: ${{ matrix.batch_name }}
env:
UV_LINK_MODE: copy
steps:
- uses: actions/checkout@v4
- name: Cache language servers
uses: actions/cache@v4
with:
path: ~/.serena/language_servers
key: ls-cache-${{ runner.os }}-${{ github.sha }}
restore-keys: |
ls-cache-${{ runner.os }}-
- name: Setup uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
cache-dependency-glob: |
pyproject.toml
- name: Create venv + install deps
shell: bash
run: |
set -euxo pipefail
uv venv .venv
.venv/bin/python -m ensurepip --upgrade || true
.venv/bin/python -m pip install -U pip setuptools wheel
uv pip install -e ".[dev]"
.venv/bin/python -m pytest --version
- name: Dotnet diagnostics (non-blocking)
shell: bash
run: |
set -euxo pipefail
dotnet --list-runtimes || true
dotnet --info || true
- name: Compute marker expression (final architecture quarantine)
id: markers
shell: bash
run: |
set -euo pipefail
MARKERS='${{ matrix.marker_expr }}'
if [[ '${{ matrix.batch_name }}' == 'Catch-All (Core Framework & Remaining Languages)' ]]; then
# Strict Quarantining: Explicitly disabling flaky auto-install dependencies & missing heavy toolchains
MARKERS="$MARKERS and not ruby and not php and not clojure and not kotlin and not msl and not nix and not zig and not swift and not perl and not fortran and not haskell and not elixir and not fsharp and not groovy and not matlab and not yaml and not json and not ansible and not julia and not lean4 and not ocaml and not pascal and not powershell and not svelte and not csharp"
fi
echo "MARKERS=$MARKERS"
echo "markers=$MARKERS" >> "$GITHUB_OUTPUT"
- name: Run pytest
shell: bash
run: |
set -euxo pipefail
echo "Batch: ${{ matrix.batch_name }}"
echo "Running: pytest -m '${{ steps.markers.outputs.markers }}'"
# Catch-All only: deselect known flaky tests and environment-dependent GUI tests
if [[ '${{ matrix.batch_name }}' == 'Catch-All (Core Framework & Remaining Languages)' ]]; then
.venv/bin/python -m pytest \
-m "${{ steps.markers.outputs.markers }}" \
-k "not test_find_symbol_references_stable and not test_show_fatal_exception_safe" \
--maxfail=1 -q
else
.venv/bin/python -m pytest \
-m "${{ steps.markers.outputs.markers }}" \
--maxfail=1 -q
fi