##// END OF EJS Templates
heptapod-ci: always make the default run condition explicit...
Raphaël Gomès -
r51633:1aba446b stable
parent child Browse files
Show More
@@ -1,161 +1,163 b''
1 # Don't run pipelines on branch "merge", since we're fast-forward only.
1 # Don't run pipelines on branch "merge", since we're fast-forward only.
2 # Gitlab sees a new branch (since e.g. `topic/stable/my-topic` becomes
2 # Gitlab sees a new branch (since e.g. `topic/stable/my-topic` becomes
3 # `branch/stable`), but the hash hasn't changed. There is no reason to
3 # `branch/stable`), but the hash hasn't changed. There is no reason to
4 # re-run the CI in our case, since we haven't built up any specific automation.
4 # re-run the CI in our case, since we haven't built up any specific automation.
5 # Right now it's just wasted CI and developer time.
5 # Right now it's just wasted CI and developer time.
6 # One can still run the pipeline manually via the web interface,
6 # One can still run the pipeline manually via the web interface,
7 # like in the case of releases, to make *extra* sure that the actual branch
7 # like in the case of releases, to make *extra* sure that the actual branch
8 # has succeeded.
8 # has succeeded.
9 workflow:
9 workflow:
10 rules:
10 rules:
11 - if: $CI_COMMIT_BRANCH =~ /^branch\/.*/ && $CI_PIPELINE_SOURCE != "web"
11 - if: $CI_COMMIT_BRANCH =~ /^branch\/.*/ && $CI_PIPELINE_SOURCE != "web"
12 when: never
12 when: never
13 - if: $CI_PIPELINE_SOURCE == "merge_request_event"
13 - if: $CI_PIPELINE_SOURCE == "merge_request_event"
14 when: always
14 - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
15 - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
15 when: never
16 when: never
16 - if: $CI_COMMIT_BRANCH
17 - if: $CI_COMMIT_BRANCH
18 when: always
17
19
18 stages:
20 stages:
19 - tests
21 - tests
20
22
21 image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG
23 image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG
22
24
23 variables:
25 variables:
24 PYTHON: python
26 PYTHON: python
25 TEST_HGMODULEPOLICY: "allow"
27 TEST_HGMODULEPOLICY: "allow"
26 HG_CI_IMAGE_TAG: "v1.0"
28 HG_CI_IMAGE_TAG: "v1.0"
27 TEST_HGTESTS_ALLOW_NETIO: "0"
29 TEST_HGTESTS_ALLOW_NETIO: "0"
28
30
29 .all_template: &all
31 .all_template: &all
30 when: on_success
32 when: on_success
31
33
32 .runtests_template: &runtests
34 .runtests_template: &runtests
33 <<: *all
35 <<: *all
34 stage: tests
36 stage: tests
35 # The runner made a clone as root.
37 # The runner made a clone as root.
36 # We make a new clone owned by user used to run the step.
38 # We make a new clone owned by user used to run the step.
37 before_script:
39 before_script:
38 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
40 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
39 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
41 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
40 - cd /tmp/mercurial-ci/
42 - cd /tmp/mercurial-ci/
41 - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
43 - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
42 - black --version
44 - black --version
43 - clang-format --version
45 - clang-format --version
44 script:
46 script:
45 - echo "python used, $PYTHON"
47 - echo "python used, $PYTHON"
46 - $PYTHON --version
48 - $PYTHON --version
47 - echo "$RUNTEST_ARGS"
49 - echo "$RUNTEST_ARGS"
48 - HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
50 - HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
49
51
50 checks:
52 checks:
51 <<: *runtests
53 <<: *runtests
52 variables:
54 variables:
53 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
55 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
54 PYTHON: python3
56 PYTHON: python3
55 CI_CLEVER_CLOUD_FLAVOR: S
57 CI_CLEVER_CLOUD_FLAVOR: S
56
58
57 rust-cargo-test:
59 rust-cargo-test:
58 <<: *all
60 <<: *all
59 stage: tests
61 stage: tests
60 script:
62 script:
61 - echo "python used, $PYTHON"
63 - echo "python used, $PYTHON"
62 - make rust-tests
64 - make rust-tests
63 - make cargo-clippy
65 - make cargo-clippy
64 variables:
66 variables:
65 PYTHON: python3
67 PYTHON: python3
66 CI_CLEVER_CLOUD_FLAVOR: S
68 CI_CLEVER_CLOUD_FLAVOR: S
67
69
68 test-c:
70 test-c:
69 <<: *runtests
71 <<: *runtests
70 variables:
72 variables:
71 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
73 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
72 PYTHON: python3
74 PYTHON: python3
73 TEST_HGMODULEPOLICY: "c"
75 TEST_HGMODULEPOLICY: "c"
74 TEST_HGTESTS_ALLOW_NETIO: "1"
76 TEST_HGTESTS_ALLOW_NETIO: "1"
75
77
76 test-pure:
78 test-pure:
77 <<: *runtests
79 <<: *runtests
78 variables:
80 variables:
79 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
81 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
80 PYTHON: python3
82 PYTHON: python3
81 TEST_HGMODULEPOLICY: "py"
83 TEST_HGMODULEPOLICY: "py"
82
84
83 test-rust:
85 test-rust:
84 <<: *runtests
86 <<: *runtests
85 variables:
87 variables:
86 HGWITHRUSTEXT: cpython
88 HGWITHRUSTEXT: cpython
87 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
89 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
88 PYTHON: python3
90 PYTHON: python3
89 TEST_HGMODULEPOLICY: "rust+c"
91 TEST_HGMODULEPOLICY: "rust+c"
90
92
91 test-rhg:
93 test-rhg:
92 <<: *runtests
94 <<: *runtests
93 variables:
95 variables:
94 HGWITHRUSTEXT: cpython
96 HGWITHRUSTEXT: cpython
95 RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
97 RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
96 PYTHON: python3
98 PYTHON: python3
97 TEST_HGMODULEPOLICY: "rust+c"
99 TEST_HGMODULEPOLICY: "rust+c"
98
100
99 test-chg:
101 test-chg:
100 <<: *runtests
102 <<: *runtests
101 variables:
103 variables:
102 PYTHON: python3
104 PYTHON: python3
103 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
105 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
104 TEST_HGMODULEPOLICY: "c"
106 TEST_HGMODULEPOLICY: "c"
105
107
106 check-pytype:
108 check-pytype:
107 extends: .runtests_template
109 extends: .runtests_template
108 before_script:
110 before_script:
109 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
111 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
110 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
112 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
111 - cd /tmp/mercurial-ci/
113 - cd /tmp/mercurial-ci/
112 - make local PYTHON=$PYTHON
114 - make local PYTHON=$PYTHON
113 - $PYTHON -m pip install --user -U libcst==0.3.20 pytype==2022.11.18
115 - $PYTHON -m pip install --user -U libcst==0.3.20 pytype==2022.11.18
114 - ./contrib/setup-pytype.sh
116 - ./contrib/setup-pytype.sh
115 script:
117 script:
116 - echo "Entering script section"
118 - echo "Entering script section"
117 - sh contrib/check-pytype.sh
119 - sh contrib/check-pytype.sh
118 variables:
120 variables:
119 PYTHON: python3
121 PYTHON: python3
120
122
121 # `sh.exe --login` sets a couple of extra environment variables that are defined
123 # `sh.exe --login` sets a couple of extra environment variables that are defined
122 # in the MinGW shell, but switches CWD to /home/$username. The previous value
124 # in the MinGW shell, but switches CWD to /home/$username. The previous value
123 # is stored in OLDPWD. Of the added variables, MSYSTEM is crucial to running
125 # is stored in OLDPWD. Of the added variables, MSYSTEM is crucial to running
124 # run-tests.py- it is needed to make run-tests.py generate a `python3` script
126 # run-tests.py- it is needed to make run-tests.py generate a `python3` script
125 # that satisfies the various shebang lines and delegates to `py -3`.
127 # that satisfies the various shebang lines and delegates to `py -3`.
126 .window_runtests_template: &windows_runtests
128 .window_runtests_template: &windows_runtests
127 <<: *all
129 <<: *all
128 when: manual # we don't have any Windows runners anymore at the moment
130 when: manual # we don't have any Windows runners anymore at the moment
129 stage: tests
131 stage: tests
130 before_script:
132 before_script:
131 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.* > C:/Temp/check-tests.txt'
133 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.* > C:/Temp/check-tests.txt'
132 # TODO: find/install cvs, bzr, perforce, gpg, sqlite3
134 # TODO: find/install cvs, bzr, perforce, gpg, sqlite3
133
135
134 script:
136 script:
135 - echo "Entering script section"
137 - echo "Entering script section"
136 - echo "python used, $Env:PYTHON"
138 - echo "python used, $Env:PYTHON"
137 - Invoke-Expression "$Env:PYTHON -V"
139 - Invoke-Expression "$Env:PYTHON -V"
138 - Invoke-Expression "$Env:PYTHON -m black --version"
140 - Invoke-Expression "$Env:PYTHON -m black --version"
139 - echo "$Env:RUNTEST_ARGS"
141 - echo "$Env:RUNTEST_ARGS"
140 - echo "$Env:TMP"
142 - echo "$Env:TMP"
141 - echo "$Env:TEMP"
143 - echo "$Env:TEMP"
142
144
143 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" $PYTHON tests/run-tests.py --color=always $RUNTEST_ARGS'
145 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" $PYTHON tests/run-tests.py --color=always $RUNTEST_ARGS'
144
146
145 windows:
147 windows:
146 <<: *windows_runtests
148 <<: *windows_runtests
147 tags:
149 tags:
148 - windows
150 - windows
149 variables:
151 variables:
150 TEST_HGMODULEPOLICY: "c"
152 TEST_HGMODULEPOLICY: "c"
151 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
153 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
152 PYTHON: py -3
154 PYTHON: py -3
153
155
154 windows-pyox:
156 windows-pyox:
155 <<: *windows_runtests
157 <<: *windows_runtests
156 tags:
158 tags:
157 - windows
159 - windows
158 variables:
160 variables:
159 TEST_HGMODULEPOLICY: "c"
161 TEST_HGMODULEPOLICY: "c"
160 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt --pyoxidized"
162 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt --pyoxidized"
161 PYTHON: py -3
163 PYTHON: py -3
General Comments 0
You need to be logged in to leave comments. Login now