forked from jgravelle/jcodemunch-mcp
-
Notifications
You must be signed in to change notification settings - Fork 0
52 lines (44 loc) · 1.8 KB
/
Copy pathtest.yml
File metadata and controls
52 lines (44 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
name: Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.10", "3.11", "3.12", "3.13"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
# Pin uv to skip the version-manifest fetch from
# raw.githubusercontent.com that intermittently fails and takes
# down the whole matrix (see run 25292200582). Bump as needed.
version: "0.6.5"
- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Install dependencies
run: uv sync --group dev --extra watch
- name: Run tests
run: uv run pytest tests/ -v --tb=short --cov=src --cov-report=term-missing
- name: Verify sdist contains no sensitive paths
if: runner.os == 'Linux'
run: |
uv build --sdist
SDIST=$(ls dist/*.tar.gz | head -1)
echo "Checking $SDIST for sensitive paths..."
# Match common credential FILE shapes only, not any path that happens
# to contain the substring "credentials" (e.g., our legitimate source
# module src/jcodemunch_mcp/credentials.py and tests/test_credentials.py).
FOUND=$(tar -tzf "$SDIST" | grep -E '(/\.claude/|/\.env(\.|$)|/\.pypirc|/\.aws/|/\.ssh/|/id_rsa|/id_ed25519|\.pem$|\.key$|/credentials\.(json|yaml|yml|conf|cfg|ini|env)$|/aws_?credentials$|/google[-_]credentials)' || true)
if [ -n "$FOUND" ]; then
echo "ERROR: Sensitive paths found in sdist:"
echo "$FOUND"
exit 1
fi
echo "OK: No sensitive paths found in sdist."