##// END OF EJS Templates
ci: run --pyoxidized tests on Windows...
Matt Harbison -
r48635:9261326d stable
parent child Browse files
Show More
@@ -1,178 +1,188 b''
1 stages:
1 stages:
2 - tests
2 - tests
3 - phabricator
3 - phabricator
4
4
5 image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG
5 image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG
6
6
7 variables:
7 variables:
8 PYTHON: python
8 PYTHON: python
9 TEST_HGMODULEPOLICY: "allow"
9 TEST_HGMODULEPOLICY: "allow"
10 HG_CI_IMAGE_TAG: "latest"
10 HG_CI_IMAGE_TAG: "latest"
11 TEST_HGTESTS_ALLOW_NETIO: "0"
11 TEST_HGTESTS_ALLOW_NETIO: "0"
12
12
13 .all_template: &all
13 .all_template: &all
14 when: always
14 when: always
15
15
16 .runtests_template: &runtests
16 .runtests_template: &runtests
17 <<: *all
17 <<: *all
18 stage: tests
18 stage: tests
19 # The runner made a clone as root.
19 # The runner made a clone as root.
20 # We make a new clone owned by user used to run the step.
20 # We make a new clone owned by user used to run the step.
21 before_script:
21 before_script:
22 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
22 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
23 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
23 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
24 - cd /tmp/mercurial-ci/
24 - cd /tmp/mercurial-ci/
25 - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
25 - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
26 - black --version
26 - black --version
27 - clang-format --version
27 - clang-format --version
28 script:
28 script:
29 - echo "python used, $PYTHON"
29 - echo "python used, $PYTHON"
30 - echo "$RUNTEST_ARGS"
30 - echo "$RUNTEST_ARGS"
31 - HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
31 - HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
32
32
33 checks-py2:
33 checks-py2:
34 <<: *runtests
34 <<: *runtests
35 variables:
35 variables:
36 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
36 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
37
37
38 checks-py3:
38 checks-py3:
39 <<: *runtests
39 <<: *runtests
40 variables:
40 variables:
41 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
41 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
42 PYTHON: python3
42 PYTHON: python3
43
43
44 rust-cargo-test-py2: &rust_cargo_test
44 rust-cargo-test-py2: &rust_cargo_test
45 <<: *all
45 <<: *all
46 stage: tests
46 stage: tests
47 script:
47 script:
48 - echo "python used, $PYTHON"
48 - echo "python used, $PYTHON"
49 - make rust-tests
49 - make rust-tests
50
50
51 rust-cargo-test-py3:
51 rust-cargo-test-py3:
52 stage: tests
52 stage: tests
53 <<: *rust_cargo_test
53 <<: *rust_cargo_test
54 variables:
54 variables:
55 PYTHON: python3
55 PYTHON: python3
56
56
57 phabricator-refresh:
57 phabricator-refresh:
58 <<: *all
58 <<: *all
59 stage: phabricator
59 stage: phabricator
60 variables:
60 variables:
61 DEFAULT_COMMENT: ":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)"
61 DEFAULT_COMMENT: ":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)"
62 STABLE_COMMENT: ":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)\n⚠ This patch is intended for stable ⚠\n{image https://media.giphy.com/media/nYI8SmmChYXK0/source.gif}"
62 STABLE_COMMENT: ":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)\n⚠ This patch is intended for stable ⚠\n{image https://media.giphy.com/media/nYI8SmmChYXK0/source.gif}"
63 script:
63 script:
64 - |
64 - |
65 if [ `hg branch` == "stable" ]; then
65 if [ `hg branch` == "stable" ]; then
66 ./contrib/phab-refresh-stack.sh --comment "$STABLE_COMMENT";
66 ./contrib/phab-refresh-stack.sh --comment "$STABLE_COMMENT";
67 else
67 else
68 ./contrib/phab-refresh-stack.sh --comment "$DEFAULT_COMMENT";
68 ./contrib/phab-refresh-stack.sh --comment "$DEFAULT_COMMENT";
69 fi
69 fi
70
70
71 test-py2:
71 test-py2:
72 <<: *runtests
72 <<: *runtests
73 variables:
73 variables:
74 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
74 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
75 TEST_HGMODULEPOLICY: "c"
75 TEST_HGMODULEPOLICY: "c"
76 TEST_HGTESTS_ALLOW_NETIO: "1"
76 TEST_HGTESTS_ALLOW_NETIO: "1"
77
77
78 test-py3:
78 test-py3:
79 <<: *runtests
79 <<: *runtests
80 variables:
80 variables:
81 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
81 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
82 PYTHON: python3
82 PYTHON: python3
83 TEST_HGMODULEPOLICY: "c"
83 TEST_HGMODULEPOLICY: "c"
84 TEST_HGTESTS_ALLOW_NETIO: "1"
84 TEST_HGTESTS_ALLOW_NETIO: "1"
85
85
86 test-py2-pure:
86 test-py2-pure:
87 <<: *runtests
87 <<: *runtests
88 variables:
88 variables:
89 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
89 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
90 TEST_HGMODULEPOLICY: "py"
90 TEST_HGMODULEPOLICY: "py"
91
91
92 test-py3-pure:
92 test-py3-pure:
93 <<: *runtests
93 <<: *runtests
94 variables:
94 variables:
95 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
95 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
96 PYTHON: python3
96 PYTHON: python3
97 TEST_HGMODULEPOLICY: "py"
97 TEST_HGMODULEPOLICY: "py"
98
98
99 test-py2-rust:
99 test-py2-rust:
100 <<: *runtests
100 <<: *runtests
101 variables:
101 variables:
102 HGWITHRUSTEXT: cpython
102 HGWITHRUSTEXT: cpython
103 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
103 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
104 TEST_HGMODULEPOLICY: "rust+c"
104 TEST_HGMODULEPOLICY: "rust+c"
105
105
106 test-py3-rust:
106 test-py3-rust:
107 <<: *runtests
107 <<: *runtests
108 variables:
108 variables:
109 HGWITHRUSTEXT: cpython
109 HGWITHRUSTEXT: cpython
110 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
110 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
111 PYTHON: python3
111 PYTHON: python3
112 TEST_HGMODULEPOLICY: "rust+c"
112 TEST_HGMODULEPOLICY: "rust+c"
113
113
114 test-py3-rhg:
114 test-py3-rhg:
115 <<: *runtests
115 <<: *runtests
116 variables:
116 variables:
117 HGWITHRUSTEXT: cpython
117 HGWITHRUSTEXT: cpython
118 RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
118 RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
119 PYTHON: python3
119 PYTHON: python3
120 TEST_HGMODULEPOLICY: "rust+c"
120 TEST_HGMODULEPOLICY: "rust+c"
121
121
122 test-py2-chg:
122 test-py2-chg:
123 <<: *runtests
123 <<: *runtests
124 variables:
124 variables:
125 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
125 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
126 TEST_HGMODULEPOLICY: "c"
126 TEST_HGMODULEPOLICY: "c"
127
127
128 test-py3-chg:
128 test-py3-chg:
129 <<: *runtests
129 <<: *runtests
130 variables:
130 variables:
131 PYTHON: python3
131 PYTHON: python3
132 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
132 RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
133 TEST_HGMODULEPOLICY: "c"
133 TEST_HGMODULEPOLICY: "c"
134
134
135 check-pytype-py3:
135 check-pytype-py3:
136 extends: .runtests_template
136 extends: .runtests_template
137 before_script:
137 before_script:
138 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
138 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
139 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
139 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
140 - cd /tmp/mercurial-ci/
140 - cd /tmp/mercurial-ci/
141 - make local PYTHON=$PYTHON
141 - make local PYTHON=$PYTHON
142 - $PYTHON -m pip install --user -U pytype==2021.04.15
142 - $PYTHON -m pip install --user -U pytype==2021.04.15
143 variables:
143 variables:
144 RUNTEST_ARGS: " --allow-slow-tests tests/test-check-pytype.t"
144 RUNTEST_ARGS: " --allow-slow-tests tests/test-check-pytype.t"
145 PYTHON: python3
145 PYTHON: python3
146 TEST_HGMODULEPOLICY: "c"
146 TEST_HGMODULEPOLICY: "c"
147
147
148 # `sh.exe --login` sets a couple of extra environment variables that are defined
148 # `sh.exe --login` sets a couple of extra environment variables that are defined
149 # in the MinGW shell, but switches CWD to /home/$username. The previous value
149 # in the MinGW shell, but switches CWD to /home/$username. The previous value
150 # is stored in OLDPWD. Of the added variables, MSYSTEM is crucial to running
150 # is stored in OLDPWD. Of the added variables, MSYSTEM is crucial to running
151 # run-tests.py- it is needed to make run-tests.py generate a `python3` script
151 # run-tests.py- it is needed to make run-tests.py generate a `python3` script
152 # that satisfies the various shebang lines and delegates to `py -3`.
152 # that satisfies the various shebang lines and delegates to `py -3`.
153 .window_runtests_template: &windows_runtests
153 .window_runtests_template: &windows_runtests
154 <<: *all
154 <<: *all
155 stage: tests
155 stage: tests
156 before_script:
156 before_script:
157 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.* > C:/Temp/check-tests.txt'
157 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.* > C:/Temp/check-tests.txt'
158 # TODO: find/install cvs, bzr, perforce, gpg, sqlite3
158 # TODO: find/install cvs, bzr, perforce, gpg, sqlite3
159
159
160 script:
160 script:
161 - echo "Entering script section"
161 - echo "Entering script section"
162 - echo "python used, $Env:PYTHON"
162 - echo "python used, $Env:PYTHON"
163 - Invoke-Expression "$Env:PYTHON -V"
163 - Invoke-Expression "$Env:PYTHON -V"
164 - Invoke-Expression "$Env:PYTHON -m black --version"
164 - Invoke-Expression "$Env:PYTHON -m black --version"
165 - echo "$Env:RUNTEST_ARGS"
165 - echo "$Env:RUNTEST_ARGS"
166 - echo "$Env:TMP"
166 - echo "$Env:TMP"
167 - echo "$Env:TEMP"
167 - echo "$Env:TEMP"
168
168
169 - 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'
169 - 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'
170
170
171 windows-py3:
171 windows-py3:
172 <<: *windows_runtests
172 <<: *windows_runtests
173 tags:
173 tags:
174 - windows
174 - windows
175 variables:
175 variables:
176 TEST_HGMODULEPOLICY: "c"
176 TEST_HGMODULEPOLICY: "c"
177 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
177 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
178 PYTHON: py -3
178 PYTHON: py -3
179
180 windows-py3-pyox:
181 <<: *windows_runtests
182 when: manual
183 tags:
184 - windows
185 variables:
186 TEST_HGMODULEPOLICY: "c"
187 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt --pyoxidized"
188 PYTHON: py -3
General Comments 0
You need to be logged in to leave comments. Login now