annotate .gitlab-ci.yml @ 5919:1a8e86053adb stable

topic: don't lose any file changes when changing topic of a merge commit This file-related logic is taken directly from cmdutil.amend().
author Anton Shestakov <av6@dwimlabs.net>
date Sun, 09 May 2021 00:10:55 +0800
parents c0ed8e574638
children 8accc5eb0aba 221a2563b02f 97c248f9bb58
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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>
parents: 5371 5538
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>
parents: 5371 5538
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>
parents: 5371 5538
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