Mercurial > evolve
annotate .gitlab-ci.yml @ 5970:65d4e47d7f26
rewriteutil: use precheck from core if recent enough
This commit makes the evolve extension's `rewriteutil.precheck()`
simply delegate to the same function from Mercurial core, if that
function is deemed recent enough. The way I made that check is by
looking for `rewriteutil.find_new_divergence_from()`. That means that
there's a range of commits (ba6881c6::8125bcd2^) where the user would
see less detailed error messages if they are running with an hg
version from that range (there are no released versions in that
range).
As you can see in the tests, switching to core's version of the
function mostly affects error messages and exit codes.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 04 May 2021 09:40:18 -0700 |
parents | c0ed8e574638 |
children | 8accc5eb0aba 221a2563b02f 97c248f9bb58 |
rev | line source |
---|---|
5371
02804d8bac31
ci: use a script template to pull and update /ci/repos/mercurial/
Anton Shestakov <av6@dwimlabs.net>
parents:
5370
diff
changeset
|
1 .prepare_hg: &prepare_hg |
02804d8bac31
ci: use a script template to pull and update /ci/repos/mercurial/
Anton Shestakov <av6@dwimlabs.net>
parents:
5370
diff
changeset
|
2 - hg pull -R /ci/repos/mercurial/ |
5541
98e2613d797d
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
diff
changeset
|
3 - hg_branch=$(tests/testlib/map-hg-rev.sh "$(hg identify --branch)") |
98e2613d797d
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
diff
changeset
|
4 - hg -R /ci/repos/mercurial/ update "$hg_branch" |
5564
0e23393dda9c
ci: drop extraneous space
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
5541
diff
changeset
|
5 - hg_rev=$(hg log -R /ci/repos/mercurial/ -r . -T '{node}') |
5541
98e2613d797d
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
diff
changeset
|
6 - echo testing with mercurial branch="$hg_branch", revision="$hg_rev" |
4926
0fad1d376814
heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4925
diff
changeset
|
7 |
5076
43b448bb1a57
heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents:
4986
diff
changeset
|
8 pytype: |
5677
9a16cf248b05
heptapod-ci: new address for base Docker images
Georges Racinet <georges.racinet@octobus.net>
parents:
5662
diff
changeset
|
9 image: registry.heptapod.net/mercurial/ci-images/py3-hgext3rd |
5076
43b448bb1a57
heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents:
4986
diff
changeset
|
10 script: |
5371
02804d8bac31
ci: use a script template to pull and update /ci/repos/mercurial/
Anton Shestakov <av6@dwimlabs.net>
parents:
5370
diff
changeset
|
11 - *prepare_hg |
5370
06b5e43ac29c
ci: print the exact version of pytype
Anton Shestakov <av6@dwimlabs.net>
parents:
5369
diff
changeset
|
12 - pytype --version |
5076
43b448bb1a57
heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents:
4986
diff
changeset
|
13 - jobs=$(python -c 'import multiprocessing; print multiprocessing.cpu_count()') |
43b448bb1a57
heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents:
4986
diff
changeset
|
14 - pytype -P /ci/repos/mercurial/:hgext3rd -k hgext3rd -x hgext3rd/evolve/thirdparty -j $jobs || true |
43b448bb1a57
heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents:
4986
diff
changeset
|
15 when: manual |
43b448bb1a57
heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents:
4986
diff
changeset
|
16 |
5341
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
17 variables: |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
18 PY: py2 |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
19 PYTHON: python |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
20 RUNTEST_ARGS: "" |
5342
4a958a7bb138
ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents:
5341
diff
changeset
|
21 TEST_HGMODULEPOLICY: "allow" |
4925
dbeb04ee6679
heptapod-ci: add a --pure variant for the CI
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4924
diff
changeset
|
22 |
5341
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
23 .runtests_template: &runtests |
5677
9a16cf248b05
heptapod-ci: new address for base Docker images
Georges Racinet <georges.racinet@octobus.net>
parents:
5662
diff
changeset
|
24 image: registry.heptapod.net/mercurial/ci-images/$PY-hgext3rd |
5369
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
25 before_script: |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
26 - (cd tests; ls -1 test-check-*.t > /tmp/check-tests.txt) |
4874
ab0d09c93532
gitlab-ci: be bold and try to run the full test in them
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4873
diff
changeset
|
27 script: |
5371
02804d8bac31
ci: use a script template to pull and update /ci/repos/mercurial/
Anton Shestakov <av6@dwimlabs.net>
parents:
5370
diff
changeset
|
28 - *prepare_hg |
5358
db1dfa818187
ci: print exact version of used Python
Anton Shestakov <av6@dwimlabs.net>
parents:
5352
diff
changeset
|
29 - ("$PYTHON" --version) |
5343
f464b29898e3
ci: use set -x to echo the whole run-tests.py command string
Anton Shestakov <av6@dwimlabs.net>
parents:
5342
diff
changeset
|
30 - (cd tests; set -x; HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" /ci/repos/mercurial/tests/run-tests.py --color=always $RUNTEST_ARGS) |
5341
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
31 |
5369
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
32 checks-py2: |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
33 <<: *runtests |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
34 variables: |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
35 RUNTEST_ARGS: "--test-list /tmp/check-tests.txt" |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
36 |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
37 checks-py3: |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
38 <<: *runtests |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
39 variables: |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
40 PY: py3 |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
41 PYTHON: python3 |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
42 RUNTEST_ARGS: "--test-list /tmp/check-tests.txt" |
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
43 |
5341
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
44 tests-py2-cext: |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
45 <<: *runtests |
5342
4a958a7bb138
ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents:
5341
diff
changeset
|
46 variables: |
5369
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
47 RUNTEST_ARGS: "--no-rust --blacklist /tmp/check-tests.txt" |
5342
4a958a7bb138
ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents:
5341
diff
changeset
|
48 TEST_HGMODULEPOLICY: "c" |
4925
dbeb04ee6679
heptapod-ci: add a --pure variant for the CI
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4924
diff
changeset
|
49 |
dbeb04ee6679
heptapod-ci: add a --pure variant for the CI
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4924
diff
changeset
|
50 tests-py2-pure: |
5341
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
51 <<: *runtests |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
52 variables: |
5369
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
53 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt" |
5342
4a958a7bb138
ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents:
5341
diff
changeset
|
54 TEST_HGMODULEPOLICY: "py" |
4926
0fad1d376814
heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4925
diff
changeset
|
55 |
0fad1d376814
heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4925
diff
changeset
|
56 tests-py3-cext: |
5341
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
57 <<: *runtests |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
58 variables: |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
59 PY: py3 |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
60 PYTHON: python3 |
5369
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
61 RUNTEST_ARGS: "--no-rust --blacklist /tmp/check-tests.txt" |
5342
4a958a7bb138
ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents:
5341
diff
changeset
|
62 TEST_HGMODULEPOLICY: "c" |
4926
0fad1d376814
heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4925
diff
changeset
|
63 |
0fad1d376814
heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
4925
diff
changeset
|
64 tests-py3-pure: |
5341
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
65 <<: *runtests |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
66 variables: |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
67 PY: py3 |
efb8ae4419b2
ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
68 PYTHON: python3 |
5369
2295818ec738
ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents:
5368
diff
changeset
|
69 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt" |
5342
4a958a7bb138
ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents:
5341
diff
changeset
|
70 TEST_HGMODULEPOLICY: "py" |
4986
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
71 |
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
72 doc: |
5678
4737d3db1671
heptapod-ci: new address for the evolve-doc base image
Georges Racinet <georges.racinet@octobus.net>
parents:
5677
diff
changeset
|
73 image: registry.heptapod.net/mercurial/ci-images/py3-evolve-doc |
4986
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
74 script: |
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
75 - cd docs/ |
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
76 - make |
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
77 variables: |
5655
1aec5a3be808
docs: properly capitalize LANG value
Anton Shestakov <av6@dwimlabs.net>
parents:
5564
diff
changeset
|
78 LANG: en_US.UTF-8 |
5662
bec8a04d2f6a
docs: build using py3 image
Anton Shestakov <av6@dwimlabs.net>
parents:
5655
diff
changeset
|
79 PYTHON: python3 |
5359
f4d991ac2cd6
ci: add /ci/repos/mercurial to $PYTHONPATH for docs
Anton Shestakov <av6@dwimlabs.net>
parents:
5076
diff
changeset
|
80 PYTHONPATH: "/ci/repos/mercurial:$PYTHONPATH" |
5662
bec8a04d2f6a
docs: build using py3 image
Anton Shestakov <av6@dwimlabs.net>
parents:
5655
diff
changeset
|
81 SPHINXBUILD: python3 -m sphinx -b html |
4986
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
82 artifacts: |
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
83 paths: |
1214f3d085a9
ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents:
4966
diff
changeset
|
84 - html/* |
5838
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
85 |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
86 sdist: |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
87 stage: .post |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
88 image: registry.heptapod.net/mercurial/ci-images/py3-hgext3rd |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
89 script: |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
90 - python3 setup.py sdist |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
91 artifacts: |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
92 paths: |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
93 - dist/* |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
94 only: |
c0ed8e574638
ci: build sdist tarball as a post step (only for tagged revisions)
Anton Shestakov <av6@dwimlabs.net>
parents:
5678
diff
changeset
|
95 - tags |