-
Notifications
You must be signed in to change notification settings - Fork 74
/
.gitlab-ci.yml
66 lines (58 loc) · 2.1 KB
/
.gitlab-ci.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
# SPDX-License-Identifier: MPL-2.0
# stage description
# generate
# creates the actual test jobs via python script
# run-tests
# execute the generated test jobs
# the ordering is mainly random
# the python generator can schedule some jobs on specific positions
stages:
- generator
- run-test-jobs
variables:
# container version of the generated jobs
# should be merged with ALPAKA_GITLAB_CI_CONTAINER_VERSION
# see: script/job_generator/generate_job_yaml.py
ALPAKA_GITLAB_CI_GENERATOR_CONTAINER_VERSION: "3.2"
generate:
stage: generator
# update alpine version to use newer python version
image: alpine:3.18
script:
- apk update && apk add python3~=3.11 py3-pip
- pip3 install -r script/job_generator/requirements.txt
# it is sufficient to verify once, as the same job matrix is generated, verified and then filtered each time
# disable verify because we know that the generator is broken: https://github.com/thombashi/allpairspy/pull/10
# - python3 script/job_generator/job_generator.py ${ALPAKA_GITLAB_CI_GENERATOR_CONTAINER_VERSION} --verify --split-waves --wave-out-compile_only_job=compile_only.yml --wave-out-runtime_job_gpu=runtime_gpu.yml --wave-out-runtime_job_cpu=runtime_cpu.yml
- python3 script/job_generator/job_generator.py ${ALPAKA_GITLAB_CI_GENERATOR_CONTAINER_VERSION} --split-waves --wave-out-compile_only_job=compile_only.yml --wave-out-runtime_job_gpu=runtime_gpu.yml --wave-out-runtime_job_cpu=runtime_cpu.yml
- cat compile_only.yml
- cat runtime_cpu.yml
- cat runtime_gpu.yml
artifacts:
paths:
- compile_only.yml
- runtime_cpu.yml
- runtime_gpu.yml
expire_in: 1 week
interruptible: true
run-compile-only-test:
stage: run-test-jobs
trigger:
include:
- artifact: compile_only.yml
job: generate
strategy: depend
run-runtime-cpu-test:
stage: run-test-jobs
trigger:
include:
- artifact: runtime_cpu.yml
job: generate
strategy: depend
run-runtime-gpu-test:
stage: run-test-jobs
trigger:
include:
- artifact: runtime_gpu.yml
job: generate
strategy: depend