Skip to content

Commit 01ff8d1

Browse files
committed
ci: add unified SDK tests workflow with staging
1 parent 81a275d commit 01ff8d1

4 files changed

Lines changed: 92 additions & 9 deletions

File tree

.github/workflows/cli_tests.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ name: Test CLI
22

33
on:
44
workflow_call:
5+
inputs:
6+
E2B_DOMAIN:
7+
required: false
8+
type: string
9+
default: ''
510
secrets:
611
E2B_API_KEY:
712
required: true
8-
pull_request:
9-
branches:
10-
- main
1113

1214
permissions:
1315
contents: read
@@ -67,3 +69,4 @@ jobs:
6769
working-directory: ./packages/cli
6870
env:
6971
E2B_API_KEY: ${{ secrets.E2B_API_KEY }}
72+
E2B_DOMAIN: ${{ inputs.E2B_DOMAIN }}

.github/workflows/js_sdk_tests.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ name: Test JS SDK
22

33
on:
44
workflow_call:
5+
inputs:
6+
E2B_DOMAIN:
7+
required: false
8+
type: string
9+
default: ''
510
secrets:
611
E2B_API_KEY:
712
required: true
8-
pull_request:
9-
branches:
10-
- main
1113

1214
permissions:
1315
contents: read
@@ -83,6 +85,7 @@ jobs:
8385
run: pnpm test
8486
env:
8587
E2B_API_KEY: ${{ secrets.E2B_API_KEY }}
88+
E2B_DOMAIN: ${{ inputs.E2B_DOMAIN }}
8689

8790
- name: Install Bun
8891
uses: oven-sh/setup-bun@v2
@@ -91,6 +94,7 @@ jobs:
9194
run: pnpm test:bun
9295
env:
9396
E2B_API_KEY: ${{ secrets.E2B_API_KEY }}
97+
E2B_DOMAIN: ${{ inputs.E2B_DOMAIN }}
9498

9599
- name: Install Deno
96100
uses: denoland/setup-deno@v1
@@ -101,3 +105,4 @@ jobs:
101105
run: pnpm test:deno
102106
env:
103107
E2B_API_KEY: ${{ secrets.E2B_API_KEY }}
108+
E2B_DOMAIN: ${{ inputs.E2B_DOMAIN }}

.github/workflows/python_sdk_tests.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ name: Test Python SDK
22

33
on:
44
workflow_call:
5+
inputs:
6+
E2B_DOMAIN:
7+
required: false
8+
type: string
9+
default: ''
510
secrets:
611
E2B_API_KEY:
712
required: true
8-
pull_request:
9-
branches:
10-
- main
1113

1214
permissions:
1315
contents: read
@@ -58,3 +60,4 @@ jobs:
5860
run: poetry run pytest --verbose --numprocesses=4
5961
env:
6062
E2B_API_KEY: ${{ secrets.E2B_API_KEY }}
63+
E2B_DOMAIN: ${{ inputs.E2B_DOMAIN }}

.github/workflows/sdk_tests.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: SDK Tests
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
environments:
14+
name: Define environments
15+
runs-on: ubuntu-latest
16+
outputs:
17+
matrix: ${{ steps.set.outputs.matrix }}
18+
steps:
19+
- id: set
20+
run: |
21+
matrix='[
22+
{
23+
"env_name": "Production",
24+
"e2b_domain": "",
25+
"api_key_secret": "E2B_API_KEY"
26+
},
27+
{
28+
"env_name": "Staging",
29+
"e2b_domain": "${{ vars.E2B_DOMAIN_STAGING }}",
30+
"api_key_secret": "E2B_API_KEY_STAGING"
31+
}
32+
]'
33+
echo "matrix=$(echo $matrix | jq -c .)" >> "$GITHUB_OUTPUT"
34+
35+
js-tests:
36+
needs: environments
37+
name: JS SDK Tests (${{ matrix.env_name }})
38+
strategy:
39+
fail-fast: false
40+
matrix:
41+
include: ${{ fromJSON(needs.environments.outputs.matrix) }}
42+
uses: ./.github/workflows/js_sdk_tests.yml
43+
with:
44+
E2B_DOMAIN: ${{ matrix.e2b_domain }}
45+
secrets:
46+
E2B_API_KEY: ${{ secrets[matrix.api_key_secret] }}
47+
48+
python-tests:
49+
needs: environments
50+
name: Python SDK Tests (${{ matrix.env_name }})
51+
strategy:
52+
fail-fast: false
53+
matrix:
54+
include: ${{ fromJSON(needs.environments.outputs.matrix) }}
55+
uses: ./.github/workflows/python_sdk_tests.yml
56+
with:
57+
E2B_DOMAIN: ${{ matrix.e2b_domain }}
58+
secrets:
59+
E2B_API_KEY: ${{ secrets[matrix.api_key_secret] }}
60+
61+
cli-tests:
62+
needs: environments
63+
name: CLI Tests (${{ matrix.env_name }})
64+
strategy:
65+
fail-fast: false
66+
matrix:
67+
include: ${{ fromJSON(needs.environments.outputs.matrix) }}
68+
uses: ./.github/workflows/cli_tests.yml
69+
with:
70+
E2B_DOMAIN: ${{ matrix.e2b_domain }}
71+
secrets:
72+
E2B_API_KEY: ${{ secrets[matrix.api_key_secret] }}

0 commit comments

Comments
 (0)