-
Notifications
You must be signed in to change notification settings - Fork 10
94 lines (91 loc) · 3.51 KB
/
compute-workflow-parameters.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name: "Compute workflow, scenarios and weblogs to run"
on:
workflow_call:
inputs:
library:
description: "Library to run"
required: true
type: string
scenarios:
description: "Comma-separated list of scenarios to run"
type: string
default: ""
scenarios_groups:
description: "Comma-separated list of scenarios groups to run"
type: string
default: ""
_experimental_parametric_job_count:
description: "*EXPERIMENTAL* : How many jobs should be used to run PARAMETRIC scenario"
default: 1
required: false
type: number
_ci_environment:
description: "Which CI environment is running the tests, used for FPD. used internally to skip some weblogs on prod"
default: 'custom'
required: false
type: string
# Map the workflow outputs to job outputs
outputs:
endtoend_scenarios:
description: ""
value: ${{ jobs.main.outputs.endtoend_scenarios }}
endtoend_weblogs:
description: ""
value: ${{ jobs.main.outputs.endtoend_weblogs }}
graphql_scenarios:
description: ""
value: ${{ jobs.main.outputs.graphql_scenarios }}
graphql_weblogs:
description: ""
value: ${{ jobs.main.outputs.graphql_weblogs }}
libinjection_scenarios:
description: ""
value: ${{ jobs.main.outputs.libinjection_scenarios }}
opentelemetry_scenarios:
description: ""
value: ${{ jobs.main.outputs.opentelemetry_scenarios }}
opentelemetry_weblogs:
description: ""
value: ${{ jobs.main.outputs.opentelemetry_weblogs }}
parametric_scenarios:
description: ""
value: ${{ jobs.main.outputs.parametric_scenarios }}
externalprocessing_scenarios:
description: ""
value: ${{ jobs.main.outputs.externalprocessing_scenarios }}
_experimental_parametric_job_matrix:
description: ""
value: ${{ jobs.main.outputs._experimental_parametric_job_matrix }}
jobs:
main:
name: Get parameters
runs-on: ubuntu-latest
outputs:
endtoend_scenarios: ${{ steps.main.outputs.endtoend_scenarios }}
endtoend_weblogs: ${{ steps.main.outputs.endtoend_weblogs }}
graphql_scenarios: ${{ steps.main.outputs.graphql_scenarios }}
graphql_weblogs: ${{ steps.main.outputs.graphql_weblogs }}
libinjection_scenarios: ${{ steps.main.outputs.libinjection_scenarios }}
opentelemetry_scenarios: ${{ steps.main.outputs.opentelemetry_scenarios }}
opentelemetry_weblogs: ${{ steps.main.outputs.opentelemetry_weblogs }}
parametric_scenarios: ${{ steps.main.outputs.parametric_scenarios }}
externalprocessing_scenarios: ${{ steps.main.outputs.externalprocessing_scenarios }}
_experimental_parametric_job_matrix: ${{ steps.main.outputs._experimental_parametric_job_matrix }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: 'DataDog/system-tests'
- name: Install runner
uses: ./.github/actions/install_runner
- name: main
id: main
run: |
source venv/bin/activate
python utils/scripts/compute-workflow-parameters.py ${{ inputs.library }} \
-s "${{ inputs.scenarios }}" \
-g "${{ inputs.scenarios_groups }}" \
--ci-environment "${{ inputs._ci_environment }}" >> $GITHUB_OUTPUT
env:
PYTHONPATH: "."
_EXPERIMENTAL_PARAMETRIC_JOB_COUNT: ${{ inputs._experimental_parametric_job_count }}