chore(deps): bump actions/setup-python from 6 to 7 #292
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| release-candidate: | |
| name: Quality gate and release candidate | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup Node.js 22 | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - name: Install locked dependencies | |
| run: npm ci | |
| - name: Install Playwright Chromium | |
| run: npx playwright install --with-deps chromium | |
| - name: Run the canonical release gate | |
| run: npm run check:release | |
| - name: Upload verified release candidate | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: openqc-${{ github.sha }}-release-candidate | |
| path: | | |
| vsix/*.vsix | |
| vsix/*.vsix.sha256 | |
| vsix/*.sbom.json | |
| if-no-files-found: error | |
| retention-days: 14 | |
| lsp-integration: | |
| name: LSP integration | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout OpenQC-VSCode | |
| uses: actions/checkout@v7 | |
| with: | |
| path: openqc-vscode | |
| - name: Checkout CP2K LSP | |
| uses: actions/checkout@v7 | |
| with: | |
| repository: newtontech/cp2k-lsp-enhanced | |
| path: cp2k-lsp-enhanced | |
| - name: Checkout Gaussian LSP | |
| uses: actions/checkout@v7 | |
| with: | |
| repository: newtontech/gaussian-lsp | |
| path: gaussian-lsp | |
| - name: Checkout VASP LSP | |
| uses: actions/checkout@v7 | |
| with: | |
| repository: newtontech/vasp-lsp | |
| path: vasp-lsp | |
| - name: Setup Node.js 22 | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: openqc-vscode/package-lock.json | |
| - name: Setup Python | |
| uses: actions/setup-python@v7 | |
| with: | |
| python-version: '3.11' | |
| - name: Install LSP servers | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install "./cp2k-lsp-enhanced[lsp]" | |
| pip install -e ./gaussian-lsp | |
| pip install -e ./vasp-lsp | |
| - name: Install OpenQC dependencies | |
| working-directory: openqc-vscode | |
| run: npm ci | |
| - name: Verify representative LSP integration | |
| working-directory: openqc-vscode | |
| run: | | |
| command -v cp2k-language-server | |
| command -v gaussian-lsp | |
| command -v vasp-lsp | |
| npm run compile | |
| npx --no-install jest tests/unit/LSPManager.test.ts --runInBand --coverage=false |