|
2 | 2 |
|
3 | 3 | import os |
4 | 4 | import os.path |
| 5 | +import subprocess |
5 | 6 | import time |
6 | 7 |
|
7 | 8 | import jinja2 |
|
14 | 15 | GENERATED_CONFIG_PATH = os.path.join(SCRIPT_DIR, OUT_FILENAME) |
15 | 16 |
|
16 | 17 | # JDKs that will run on every pipeline. |
17 | | -ALWAYS_ON_JDKS = {"8", "11", "17", "21"} |
| 18 | +ALWAYS_ON_JDKS = {"8", "17", "21"} |
18 | 19 | # And these will run only in master and release/ branches. |
19 | 20 | MASTER_ONLY_JDKS = { |
| 21 | + "11", |
20 | 22 | "ibm8", |
21 | 23 | "oracle8", |
22 | 24 | "semeru8", |
|
74 | 76 | run_all = "all" in labels |
75 | 77 | is_master_or_release = branch == "master" or branch.startswith("release/v") |
76 | 78 |
|
| 79 | +skip_circleci = False |
| 80 | +if pr_base_ref: |
| 81 | + ret = subprocess.call([".circleci/no_circleci_changes.sh", f"{pr_base_ref}..HEAD"], shell=False) |
| 82 | + if ret == 1: |
| 83 | + # Only GitLab-related files have changed, just skip Circle CI jobs. |
| 84 | + skip_circleci = True |
| 85 | + |
77 | 86 | if is_master_or_release or run_all: |
78 | 87 | all_jdks = ALWAYS_ON_JDKS | MASTER_ONLY_JDKS |
79 | 88 | else: |
|
99 | 108 | "all_jdks": all_jdks, |
100 | 109 | "all_debugger_jdks": all_debugger_jdks, |
101 | 110 | "nocov_jdks": nocov_jdks, |
102 | | - "flaky": branch == "master" or "flaky" in labels or "all" in labels, |
| 111 | + "flaky": "flaky" in labels or "all" in labels, |
103 | 112 | "docker_image_prefix": "" if is_nightly else f"{DOCKER_IMAGE_VERSION}-", |
104 | 113 | "use_git_changes": use_git_changes, |
105 | 114 | "pr_base_ref": pr_base_ref, |
| 115 | + "skip_circleci": skip_circleci, |
| 116 | + "ssi_smoke": is_regular and is_master_or_release |
106 | 117 | } |
107 | 118 |
|
108 | 119 | print(f"Variables for this build: {vars}") |
|
0 commit comments