Skip to content

Commit 376762f

Browse files
committed
Run integration tests in CI
1 parent dfb87cc commit 376762f

File tree

13 files changed

+489
-348
lines changed

13 files changed

+489
-348
lines changed

.env.integration.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
OPEN_ROUTER_API_KEY=sk-or-v1-...

.github/workflows/code-qa.yml

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,51 @@ jobs:
1313
steps:
1414
- name: Checkout code
1515
uses: actions/checkout@v4
16-
1716
- name: Setup Node.js
1817
uses: actions/setup-node@v4
1918
with:
2019
node-version: '18'
2120
cache: 'npm'
22-
2321
- name: Install dependencies
2422
run: npm run install:all
25-
26-
- name: Compile TypeScript
23+
- name: Compile
2724
run: npm run compile
25+
- name: Check types
26+
run: npm run check-types
27+
- name: Lint
28+
run: npm run lint
2829

2930
unit-test:
3031
runs-on: ubuntu-latest
3132
steps:
3233
- name: Checkout code
3334
uses: actions/checkout@v4
34-
3535
- name: Setup Node.js
3636
uses: actions/setup-node@v4
3737
with:
3838
node-version: '18'
3939
cache: 'npm'
40-
4140
- name: Install dependencies
4241
run: npm run install:all
43-
4442
- name: Run unit tests
45-
run: npm test
43+
run: npm test
44+
45+
integration-test:
46+
strategy:
47+
matrix:
48+
os: [macos-latest] # ubuntu-latest, windows-latest
49+
runs-on: ${{ matrix.os }}
50+
steps:
51+
- name: Checkout code
52+
uses: actions/checkout@v4
53+
- name: Setup Node.js
54+
uses: actions/setup-node@v4
55+
with:
56+
node-version: '18'
57+
cache: 'npm'
58+
- name: Install dependencies
59+
run: npm run install:all
60+
- run: xvfb-run -a npm test:integration
61+
if: runner.os == 'Linux'
62+
- run: npm test:integration
63+
if: runner.os != 'Linux'

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
out
21
dist
2+
out
3+
out-integration
34
node_modules
45
coverage/
56

@@ -15,3 +16,5 @@ roo-cline-*.vsix
1516
# Test environment
1617
.test_env
1718
.vscode-test/
19+
20+
.env.integration

.vscode-test.mjs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1+
/**
2+
* See: https://code.visualstudio.com/api/working-with-extensions/testing-extension
3+
*/
4+
15
import { defineConfig } from '@vscode/test-cli';
26

37
export default defineConfig({
4-
files: 'src/test/extension.test.ts',
8+
label: 'integrationTest',
9+
files: 'out-integration/test/**/*.test.js',
510
workspaceFolder: '.',
611
mocha: {
12+
ui: 'tdd',
713
timeout: 60000,
8-
ui: 'tdd'
914
},
1015
launchArgs: [
1116
'--enable-proposed-api=RooVeterinaryInc.roo-cline',

flake.lock

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
description = "Roo Code development environment";
3+
4+
inputs = {
5+
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
6+
};
7+
8+
outputs = { self, nixpkgs, ... }: let
9+
systems = [ "aarch64-darwin" "x86_64-linux" ];
10+
11+
forAllSystems = nixpkgs.lib.genAttrs systems;
12+
13+
mkDevShell = system: let
14+
pkgs = import nixpkgs { inherit system; };
15+
in pkgs.mkShell {
16+
name = "roo-code";
17+
18+
packages = with pkgs; [
19+
zsh
20+
nodejs_18
21+
corepack_18
22+
];
23+
24+
shellHook = ''
25+
exec zsh
26+
'';
27+
};
28+
in {
29+
devShells = forAllSystems (system: {
30+
default = mkDevShell system;
31+
});
32+
};
33+
}

package-lock.json

Lines changed: 175 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)