-
Notifications
You must be signed in to change notification settings - Fork 7
feat: add integration tests to CI workflow #290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
a4a4fc1
427ce17
490eb45
20c1d9f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -135,6 +135,71 @@ jobs: | |
| - name: Check licenses | ||
| run: npm run check-licenses | ||
|
|
||
| integration-tests: | ||
| name: Integration Tests | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 60 | ||
| needs: [build] | ||
| # Run on all PRs and main branch pushes | ||
| # Can be disabled by adding [skip-integration] to PR title or commit message | ||
| if: "!contains(github.event.pull_request.title || github.event.head_commit.message || '', '[skip-integration]')" | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 | ||
|
|
||
| - name: Setup Node.js | ||
| uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6 | ||
| with: | ||
| cache: 'npm' | ||
| node-version-file: '.nvmrc' | ||
|
|
||
| - name: Setup Python | ||
| uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0 | ||
| with: | ||
| python-version: '3.11' | ||
| cache: 'pip' | ||
|
Comment on lines
+156
to
+160
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Check for pip dependency files that setup-python can use for caching
fd -t f -g 'requirements*.txt' -g 'pyproject.toml' -g 'setup.py' -g 'Pipfile.lock' -d 2Repository: deepnote/vscode-deepnote Length of output: 283 🏁 Script executed: #!/bin/bash
# Search for Python dependency files
fd -t f 'requirements' -d 2
fd -t f 'pyproject\.toml' -d 2
fd -t f 'setup\.py' -d 2
fd -t f 'Pipfile\.lock' -d 2Repository: deepnote/vscode-deepnote Length of output: 173 🏁 Script executed: #!/bin/bash
# Check the workflow file context around the Python setup
sed -n '150,180p' .github/workflows/ci.ymlRepository: deepnote/vscode-deepnote Length of output: 1259 The pip cache setting is ineffective without a root-level dependency file. The 🤖 Prompt for AI Agents |
||
|
|
||
| - name: Install npm dependencies | ||
| run: | | ||
| npm ci --prefer-offline --no-audit | ||
| # Verify Tailwind CSS native modules are installed for Linux (npm optional deps bug) | ||
| # See: https://github.com/npm/cli/issues/4828 | ||
| node -e "try { require('lightningcss'); } catch { process.exit(1); }" 2>/dev/null || npm install lightningcss-linux-x64-gnu | ||
| node -e "try { require('@tailwindcss/oxide'); } catch { process.exit(1); }" 2>/dev/null || npm install @tailwindcss/oxide-linux-x64-gnu | ||
|
|
||
| - name: Compile TypeScript | ||
| run: npm run compile | ||
|
|
||
| - name: Create test virtual environments | ||
| uses: ./.github/actions/create-venv-for-tests | ||
| with: | ||
| IPyWidgetVersion: '8' | ||
|
|
||
| - name: Set Python path for tests | ||
| uses: ./.github/actions/set-python | ||
|
|
||
| - name: Install xvfb for headless VS Code | ||
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y xvfb libxkbfile1 libsecret-1-0 libgbm1 libnss3 libatk-bridge2.0-0 libgtk-3-0 | ||
|
|
||
| - name: Run integration tests | ||
| run: xvfb-run --auto-servernum --server-args="-screen 0 1920x1080x24" npm run test:integration | ||
| env: | ||
| VSC_JUPYTER_CI_TEST: '1' | ||
|
|
||
| - name: Upload test artifacts on failure | ||
| if: failure() | ||
| uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 | ||
| with: | ||
| name: integration-test-results | ||
| path: | | ||
| test-results.xml | ||
| logs/ | ||
| **/*.png | ||
| retention-days: 7 | ||
| if-no-files-found: ignore | ||
|
|
||
| check_licenses: | ||
| name: Check Licenses | ||
| runs-on: ubuntu-latest | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick | 🔵 Trivial
Inconsistent action versions.
actions/checkoutandactions/setup-nodeuse different commit SHAs here than in other jobs (lint,build, etc.). Align them for consistency and easier maintenance.♻️ Suggested fix
📝 Committable suggestion
🤖 Prompt for AI Agents