jet-tests.yml 2.32 KB
Newer Older
hepj's avatar
hepj committed
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
.jet_common:
  stage: functional_tests
  rules:
    - if: '$FUNCTIONAL_TEST == "yes" && $CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME !~ /^core_r/ )'
      allow_failure: true
    - if: '$FUNCTIONAL_TEST == "yes"'
    - when: never

default:
  id_tokens:
    VAULT_JWT_TOKEN:
      aud: https://stg.vault.nvidia.com

include:
  - project: dl/jet/gitlab-templates
    ref: main
    file: downstreams.yml

jet-configure:
  image:
    name: mikefarah/yq:4.35.2
    entrypoint: [""]
  extends: [.jet_common, .jet-configure]
  tags:
    - os/linux
  script:
    - set -x
    - JET_FILTER=${JET_CUSTOM_FILTER:-False}
    - echo "_JET_FILTER=$JET_FILTER" | tee -a jet.env
    - |
      IMAGE=${CI_MCORE_IMAGE}:${CI_PIPELINE_ID} yq '. |=
        (
          select(.spec.name == "mcore-pyt")
          | .spec.source.image = env(IMAGE)
        )
      ' -i tests/functional_tests/jet_recipes/build-pyt.yaml

      IMAGE=${CI_NEMO_IMAGE}:${CI_PIPELINE_ID} yq '. |=
        (
          select(.spec.name == "mcore-nemo")
          | .spec.source.image = env(IMAGE)
        )
      ' -i tests/functional_tests/jet_recipes/build-pyt.yaml
  artifacts:
    reports:
      dotenv: jet.env
    paths:
      - tests/functional_tests/jet_recipes
  retry:
    max: 2
    when: job_execution_timeout

jet-trigger:
  extends: [.jet_common, .jet-trigger]
  needs: [metadata, jet-configure]
  trigger:
    project: dl/jet/ci
    branch: $JET_CI_BRANCH
    strategy: depend
  variables:
    JET_WORKLOADS_FILTER: '$_JET_FILTER'
  inherit:
    variables: true

jet-results-summary:
  extends: [.jet_common]
  image: gitlab-master.nvidia.com:5005/dl/jet/api:latest
  tags:
    - os/linux
  before_script:
    - jet secrets jwt-login jwt/nvidia/gitlab-master adlr-megatron-lm-ci $VAULT_JWT_TOKEN
  script:
    - env
    - RW_API_TOKEN=${PROJECT_ACCESS_TOKEN} ENDPOINT=${PROJECT_ENDPOINT} bash tests/functional_tests/shell_test_utils/restart_jet_log_jobs.sh ${CI_PIPELINE_ID}
    - python -m pip install -U --no-cache-dir prettytable
    - rc=0
    - python tests/functional_tests/python_test_utils/jet_test_pipeline.py ${CI_PIPELINE_ID} --artifact_links $CI_JOB_ID --download_scripts_dir ./scripts || rc=$?
    - exit $rc
  artifacts:
    when: always
    paths:
      - scripts
  allow_failure: true