Skip to content

Finish viewer and calculation workflows #289

Finish viewer and calculation workflows

Finish viewer and calculation workflows #289

Workflow file for this run

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@v6
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