@@ -39,13 +39,30 @@ jobs:
3939 python-version : ' 3.12'
4040 cache : ' pip'
4141
42+ - name : Cache Node.js modules
43+ id : cache-node
44+ uses : actions/cache@v4
45+ with :
46+ path : node_modules
47+ key : ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
48+
4249 - name : Install Node dependencies
50+ if : steps.cache-node.outputs.cache-hit != 'true'
4351 run : npm ci
4452
53+ - name : Cache Python Virtual Environment
54+ id : cache-python
55+ uses : actions/cache@v4
56+ with :
57+ path : .venv
58+ key : ${{ runner.os }}-python-${{ hashFiles('pyproject.toml') }}
59+
4560 - name : Install Python dependencies
61+ if : steps.cache-python.outputs.cache-hit != 'true'
4662 run : |
47- python -m pip install --upgrade pip
48- pip install ".[dev]"
63+ python -m venv .venv
64+ .venv/bin/python -m pip install --upgrade pip
65+ .venv/bin/pip install ".[dev]"
4966
5067 - name : Run TypeScript Linter
5168 run : npm run lint
@@ -54,10 +71,16 @@ jobs:
5471 run : npm run check-types
5572
5673 - name : Run Python Ruff Linter
57- run : ruff check .
74+ run : .venv/bin/ ruff check .
5875
5976 - name : Run Python Ruff Formatter Check
60- run : ruff format --check .
77+ run : .venv/bin/ruff format --check .
78+
79+ - name : Cache VS Code Test Downloads
80+ uses : actions/cache@v4
81+ with :
82+ path : .vscode-test
83+ key : ${{ runner.os }}-vscode-test-${{ hashFiles('package.json', '.vscode-test.mjs') }}
6184
6285 - name : Run Extension Tests
6386 run : xvfb-run -a npm test
7497 uses : actions/upload-artifact@v7.0.1
7598 with :
7699 name : totk-vscode-extension
77- path : " *.vsix"
100+ path : " out/ *.vsix"
0 commit comments