Skip to content

Commit f1b7a8c

Browse files
authored
Add examples to run k6 tests in CI using the k6 github actions (#219)
1 parent c300361 commit f1b7a8c

9 files changed

+210
-104
lines changed

.github/workflows/build-and-test.yaml

Lines changed: 0 additions & 104 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Basic Test Workflow
2+
on: [push]
3+
4+
jobs:
5+
basic_k6_test:
6+
name: k6 test run - basic example
7+
runs-on: ubuntu-latest
8+
9+
services:
10+
quickpizza:
11+
image: ghcr.io/grafana/quickpizza-local:latest
12+
ports:
13+
- 3333:3333
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Setup k6
19+
uses: grafana/setup-k6-action@v1
20+
- name: Run k6 test
21+
uses: grafana/run-k6-action@v1
22+
with:
23+
path: |
24+
./k6/foundations/01.basic.js
25+
flags: --duration 5s
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Browser Test Workflow
2+
on: [push]
3+
4+
jobs:
5+
basic_k6_test:
6+
name: k6 test run - browser test example
7+
runs-on: ubuntu-latest
8+
9+
services:
10+
quickpizza:
11+
image: ghcr.io/grafana/quickpizza-local:latest
12+
ports:
13+
- 3333:3333
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Setup k6
19+
uses: grafana/setup-k6-action@v1
20+
with:
21+
browser: true
22+
- name: Run k6 test
23+
uses: grafana/run-k6-action@v1
24+
with:
25+
path: |
26+
./k6/browser/01.basic.js
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: CLI Flags Test Workflow
2+
on: [push]
3+
4+
jobs:
5+
basic_k6_test:
6+
name: k6 test run - CLI flags example
7+
runs-on: ubuntu-latest
8+
9+
services:
10+
quickpizza:
11+
image: ghcr.io/grafana/quickpizza-local:latest
12+
ports:
13+
- 3333:3333
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Setup k6
19+
uses: grafana/setup-k6-action@v1
20+
- name: Run k6 test
21+
uses: grafana/run-k6-action@v1
22+
with:
23+
path: |
24+
./k6/foundations/01.basic.js
25+
flags: --vus 10 --duration 5s
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Environment Variables Test Workflow
2+
on: [push]
3+
4+
jobs:
5+
basic_k6_test:
6+
name: k6 test run - environment variable example
7+
runs-on: ubuntu-latest
8+
9+
services:
10+
quickpizza:
11+
image: ghcr.io/grafana/quickpizza-local:latest
12+
ports:
13+
- 3355:3333
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Setup k6
19+
uses: grafana/setup-k6-action@v1
20+
- name: Run k6 test
21+
uses: grafana/run-k6-action@v1
22+
env:
23+
BASE_URL: "http://localhost:3355"
24+
with:
25+
path: |
26+
./k6/foundations/01.basic.js
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Specific k6 version Workflow
2+
on: [push]
3+
4+
jobs:
5+
basic_k6_test:
6+
name: k6 test run - specific k6 version example
7+
runs-on: ubuntu-latest
8+
9+
services:
10+
quickpizza:
11+
image: ghcr.io/grafana/quickpizza-local:latest
12+
ports:
13+
- 3333:3333
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Setup k6
19+
uses: grafana/setup-k6-action@v1
20+
with:
21+
k6-version: '0.49.0'
22+
- name: Run k6 test
23+
uses: grafana/run-k6-action@v1
24+
with:
25+
cloud-run-locally: false
26+
path: |
27+
./k6/foundations/01.basic.js
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Verify scripts Workflow
2+
on: [push]
3+
4+
jobs:
5+
basic_k6_test:
6+
name: k6 test run - verify scripts example
7+
runs-on: ubuntu-latest
8+
9+
services:
10+
quickpizza:
11+
image: ghcr.io/grafana/quickpizza-local:latest
12+
ports:
13+
- 3333:3333
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Setup k6
19+
uses: grafana/setup-k6-action@v1
20+
- name: Verify test script
21+
uses: grafana/run-k6-action@v1
22+
with:
23+
path: |
24+
./k6/foundations/01.basic.js
25+
only-verify-scripts: true
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Browser Tests Workflow
2+
on: [push]
3+
4+
jobs:
5+
k6_browser_tests:
6+
name: k6 test run - running all browser tests
7+
runs-on: ubuntu-latest
8+
9+
services:
10+
quickpizza:
11+
image: ghcr.io/grafana/quickpizza-local:latest
12+
ports:
13+
- 3333:3333
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Setup k6
20+
uses: grafana/setup-k6-action@v1
21+
with:
22+
browser: true
23+
- name: Run k6 test
24+
uses: grafana/run-k6-action@v1
25+
with:
26+
path: |
27+
./k6/browser/*.js

.github/workflows/k6_tests.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: All Foundation Tests Workflow
2+
on: [push]
3+
4+
jobs:
5+
k6_foundation_tests:
6+
name: k6 test run - running all foundations tests
7+
runs-on: ubuntu-latest
8+
9+
services:
10+
quickpizza:
11+
image: ghcr.io/grafana/quickpizza-local:latest
12+
ports:
13+
- 3333:3333
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Setup k6
20+
uses: grafana/setup-k6-action@v1
21+
with:
22+
browser: true
23+
- name: Run k6 test
24+
uses: grafana/run-k6-action@v1
25+
with:
26+
path: |
27+
./k6/foundations/*.js
28+
./k6/foundations/*.ts
29+
./k6/internal/*.js

0 commit comments

Comments
 (0)