Skip to content

Commit 2348ed7

Browse files
authored
ci: use official system tests GitHub Actions workflow (#5884)
This runs _all_ system tests instead of just a subset and tries to balance them out as much as possible, to get below the `desired_execution_time`.
1 parent 26f859e commit 2348ed7

File tree

1 file changed

+14
-62
lines changed

1 file changed

+14
-62
lines changed

.github/workflows/system-tests.yml

Lines changed: 14 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@ on:
44
pull_request:
55
push:
66
branches: [master]
7-
workflow_dispatch: {}
7+
workflow_dispatch:
88
schedule:
99
- cron: 0 4 * * *
1010

11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
13+
cancel-in-progress: true
14+
1115
jobs:
1216
build-artifacts:
1317
runs-on: ubuntu-latest
@@ -24,70 +28,18 @@ jobs:
2428
name: system_tests_binaries
2529
path: ./binaries/**/*
2630

27-
get-scenarios:
28-
name: Get parameters
29-
uses: DataDog/system-tests/.github/workflows/compute-workflow-parameters.yml@main
30-
with:
31-
library: nodejs
32-
scenarios_groups: essentials,appsec_rasp,debugger,integrations
33-
34-
system-tests:
35-
runs-on: ${{ contains(fromJSON('["CROSSED_TRACING_LIBRARIES", "INTEGRATIONS"]'), matrix.scenario) && 'ubuntu-latest-16-cores' || 'ubuntu-latest' }}
36-
needs:
37-
- get-scenarios
38-
strategy:
39-
matrix:
40-
weblog-variant: ${{fromJson(needs.get-scenarios.outputs.endtoend_weblogs)}}
41-
scenario: ${{fromJson(needs.get-scenarios.outputs.endtoend_scenarios)}}
42-
43-
env:
44-
TEST_LIBRARY: nodejs
45-
WEBLOG_VARIANT: ${{ matrix.weblog-variant }}
46-
DD_API_KEY: ${{ secrets.DD_API_KEY }}
47-
48-
steps:
49-
- name: Checkout system tests
50-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
51-
with:
52-
repository: 'DataDog/system-tests'
53-
ref: 'main'
54-
- name: Checkout dd-trace-js
55-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
56-
with:
57-
path: 'binaries/dd-trace-js'
58-
- name: Build runner
59-
uses: ./.github/actions/install_runner
60-
- name: Pull images
61-
uses: ./.github/actions/pull_images
62-
with:
63-
library: nodejs
64-
weblog: ${{ matrix.weblog-variant }}
65-
scenarios: '["${{ matrix.scenario }}"]'
66-
cleanup: false
67-
- name: Build weblog
68-
run: ./build.sh -i weblog
69-
- name: Build agent
70-
id: build-agent
71-
run: ./build.sh -i agent
72-
- name: Run scenario ${{ matrix.scenario }}
73-
run: ./run.sh ${{ matrix.scenario }}
74-
- name: Compress artifact
75-
if: ${{ always() }}
76-
run: tar -czvf artifact.tar.gz $(ls | grep logs)
77-
- name: Upload artifact
78-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
79-
if: ${{ always() }}
80-
with:
81-
name: logs_${{ matrix.weblog-variant }}-${{ matrix.scenario }}
82-
path: artifact.tar.gz
83-
84-
parametric:
31+
main:
8532
needs:
8633
- build-artifacts
87-
uses: DataDog/system-tests/.github/workflows/run-parametric.yml@main
34+
uses: DataDog/system-tests/.github/workflows/system-tests.yml@main
8835
secrets: inherit
36+
permissions:
37+
contents: read
38+
packages: write
8939
with:
9040
library: nodejs
9141
binaries_artifact: system_tests_binaries
92-
job_count: 8
93-
job_matrix: '[1,2,3,4,5,6,7,8]'
42+
desired_execution_time: 300 # 5 minutes
43+
scenarios_groups: tracer-release
44+
excluded_scenarios: APM_TRACING_E2E_OTEL,APM_TRACING_E2E_SINGLE_SPAN # require AWS and datadog credentials
45+
skip_empty_scenarios: true

0 commit comments

Comments
 (0)