Mercurial > evolve
annotate .gitlab-ci.yml @ 5926:aca07ac01167
divergence-resolution: use last evolution date to choose p1 when merging
Before this patch, we choose the minimum revision as p1 while merging the
two divergent csets which had a drawback that if independent user resolve
the same divergence, their final resolved cset would have different hashes
(because of 'divergence_source_local' and 'divergence_source_other' extras).
Now, we decide the p1 on the basis of which of the two divergent cset
was rewritten more recently. This new logic removes the "different hash"
problem.
To save us from big output changes in the tests due to this change, I also
added the second factor i.e revision_number while sorting the csets wrt dates
(as date is same for all the csets in tests) to fallback to the old way of
picking the revision i.e choosing the minimum rev number.
And to demonstrate that now divergence resolution is independent of which
side user run the `hg evolve --content-div` resolved cset id won't change,
I have added a separate test file.
Flag --config devel.default-date='...' is being used here to record a
custom date in the obsmarkers.
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Wed, 03 Mar 2021 12:40:59 +0530 |
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 |