annotate .gitlab-ci.yml @ 6146:74665d83fb3b

branching: merge stable into default
author Anton Shestakov <av6@dwimlabs.net>
date Mon, 21 Feb 2022 18:26:25 +0300
parents 30ca8eb17b21
children 90067fe2df5d 5b3a757e4c32
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/
6141
30ca8eb17b21 ci: pull hg-committed from m-s.o, because mirror has an issue with @ bookmark
Anton Shestakov <av6@dwimlabs.net>
parents: 6140
diff changeset
3 - hg pull -R /ci/repos/mercurial/ https://www.mercurial-scm.org/repo/hg-committed
6146
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
4 - hg_branch=${HG_BRANCH:-$(tests/testlib/map-hg-rev.sh "$(hg identify --branch)")}
5541
98e2613d797d branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5371 5538
diff changeset
5 - 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
6 - 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
7 - 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
8
5076
43b448bb1a57 heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents: 4986
diff changeset
9 pytype:
5677
9a16cf248b05 heptapod-ci: new address for base Docker images
Georges Racinet <georges.racinet@octobus.net>
parents: 5662
diff changeset
10 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
11 script:
5371
02804d8bac31 ci: use a script template to pull and update /ci/repos/mercurial/
Anton Shestakov <av6@dwimlabs.net>
parents: 5370
diff changeset
12 - *prepare_hg
5370
06b5e43ac29c ci: print the exact version of pytype
Anton Shestakov <av6@dwimlabs.net>
parents: 5369
diff changeset
13 - pytype --version
5076
43b448bb1a57 heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents: 4986
diff changeset
14 - 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
15 - 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
16 when: manual
43b448bb1a57 heptapod-ci: add pytype job, allow it to fail for now
Anton Shestakov <av6@dwimlabs.net>
parents: 4986
diff changeset
17
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
18 variables:
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
19 PY: py2
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
20 PYTHON: python
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
21 RUNTEST_ARGS: ""
5342
4a958a7bb138 ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents: 5341
diff changeset
22 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
23
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
24 .runtests_template: &runtests
5677
9a16cf248b05 heptapod-ci: new address for base Docker images
Georges Racinet <georges.racinet@octobus.net>
parents: 5662
diff changeset
25 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
26 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
27 - (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
28 script:
5371
02804d8bac31 ci: use a script template to pull and update /ci/repos/mercurial/
Anton Shestakov <av6@dwimlabs.net>
parents: 5370
diff changeset
29 - *prepare_hg
5358
db1dfa818187 ci: print exact version of used Python
Anton Shestakov <av6@dwimlabs.net>
parents: 5352
diff changeset
30 - ("$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
31 - (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
32
5369
2295818ec738 ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents: 5368
diff changeset
33 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
34 <<: *runtests
2295818ec738 ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents: 5368
diff changeset
35 variables:
2295818ec738 ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents: 5368
diff changeset
36 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
37
2295818ec738 ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents: 5368
diff changeset
38 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
39 <<: *runtests
2295818ec738 ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents: 5368
diff changeset
40 variables:
2295818ec738 ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents: 5368
diff changeset
41 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
42 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
43 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
44
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
45 tests-py2-cext:
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
46 <<: *runtests
5342
4a958a7bb138 ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents: 5341
diff changeset
47 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
48 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
49 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
50
dbeb04ee6679 heptapod-ci: add a --pure variant for the CI
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4924
diff changeset
51 tests-py2-pure:
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
52 <<: *runtests
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
53 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
54 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
55 TEST_HGMODULEPOLICY: "py"
4926
0fad1d376814 heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4925
diff changeset
56
0fad1d376814 heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4925
diff changeset
57 tests-py3-cext:
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
58 <<: *runtests
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
59 variables:
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
60 PY: py3
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
61 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
62 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
63 TEST_HGMODULEPOLICY: "c"
4926
0fad1d376814 heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4925
diff changeset
64
0fad1d376814 heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4925
diff changeset
65 tests-py3-pure:
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
66 <<: *runtests
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
67 variables:
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
68 PY: py3
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
69 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
70 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
71 TEST_HGMODULEPOLICY: "py"
4986
1214f3d085a9 ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents: 4966
diff changeset
72
1214f3d085a9 ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents: 4966
diff changeset
73 doc:
5678
4737d3db1671 heptapod-ci: new address for the evolve-doc base image
Georges Racinet <georges.racinet@octobus.net>
parents: 5677
diff changeset
74 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
75 script:
6140
213711ca7653 ci: use the top-level Makefile to build docs
Anton Shestakov <av6@dwimlabs.net>
parents: 6139
diff changeset
76 - make doc
4986
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
6146
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
96
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
97 .windows_runtests_template: &windows_runtests
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
98 before_script:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
99 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.t > C:/Temp/check-tests.txt'
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
100 script:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
101 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && tests/testlib/update-hg-repo.sh C:/Temp/hg'
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
102 - >
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
103 C:/MinGW/msys/1.0/bin/sh.exe --login -c '
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
104 cd "$OLDPWD" &&
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
105 evo_branch=$(hg identify --branch) &&
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
106 hg_branch=${HG_BRANCH:-$(tests/testlib/map-hg-rev.sh "$evo_branch")} &&
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
107 hg -R C:/Temp/hg update "$hg_branch" &&
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
108 hg_rev=$(hg log -R C:/Temp/hg -r . -T "\{node\}") &&
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
109 echo testing with mercurial branch="$hg_branch", revision="$hg_rev"'
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
110 - Invoke-Expression "$Env:PYTHON --version"
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
111 - echo "$Env:RUNTEST_ARGS"
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
112 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && HGMODULEPOLICY="$TEST_HGMODULEPOLICY" $PYTHON C:/Temp/hg/tests/run-tests.py --color=always $RUNTEST_ARGS'
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
113
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
114 windows-py3:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
115 <<: *windows_runtests
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
116 tags:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
117 - windows
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
118 variables:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
119 PYTHON: py -3
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
120 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
121 TEST_HGMODULEPOLICY: "c"
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
122 when: manual