annotate .gitlab-ci.yml @ 6906:67b8a57200f4 mercurial-6.2

ci: skip doctests on older branches We either need to install and use newer system hg that supports zstd revlog compression, or we can skip doctests because usually there are other tests that cover the same code (e.g. by testing the relevant commands).
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 24 Oct 2024 19:48:01 +0400
parents 9b9116f6c293
children 5439ac6b2fc2
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
6776
76c2f08b57ee ci: pull the hg clone explicitly from m-s.o only
Anton Shestakov <av6@dwimlabs.net>
parents: 6750
diff changeset
2 - hg pull -R /ci/repos/mercurial/ https://repo.mercurial-scm.org/hg
6146
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
3 - 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
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
6151
90067fe2df5d ci: default to python3
Anton Shestakov <av6@dwimlabs.net>
parents: 6146
diff changeset
13 - jobs=$(python3 -c 'import multiprocessing; print(multiprocessing.cpu_count())')
5076
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:
6151
90067fe2df5d ci: default to python3
Anton Shestakov <av6@dwimlabs.net>
parents: 6146
diff changeset
18 PYTHON: python3
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
19 RUNTEST_ARGS: ""
5342
4a958a7bb138 ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents: 5341
diff changeset
20 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
21
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
22 .runtests_template: &runtests
6905
9b9116f6c293 ci: downgrade images for older compatibility branches
Anton Shestakov <av6@dwimlabs.net>
parents: 6900
diff changeset
23 image: registry.heptapod.net/mercurial/ci-images/py3-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
24 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
25 - (cd tests; ls -1 test-check-*.t > /tmp/check-tests.txt)
6906
67b8a57200f4 ci: skip doctests on older branches
Anton Shestakov <av6@dwimlabs.net>
parents: 6905
diff changeset
26 - echo test-doctest.py > /tmp/doctest.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
6798
f46913e52954 test-compat: create a compatibility branch for Mercurial 6.7
Anton Shestakov <av6@dwimlabs.net>
parents: 6776
diff changeset
29 - ("$PYTHON" --version)
f46913e52954 test-compat: create a compatibility branch for Mercurial 6.7
Anton Shestakov <av6@dwimlabs.net>
parents: 6776
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-py3:
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
6905
9b9116f6c293 ci: downgrade images for older compatibility branches
Anton Shestakov <av6@dwimlabs.net>
parents: 6900
diff changeset
34 image: registry.heptapod.net/mercurial/ci-images/py3-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
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"
6856
436dddbb3af5 ci: copy CI image versions from default and run tests-py3-* on v2.1
Anton Shestakov <av6@dwimlabs.net>
parents: 6855
diff changeset
37 CI_CLEVER_CLOUD_FLAVOR: S
5369
2295818ec738 ci: replace flake8 job by checks-py{2,3} (with more than flake8)
Anton Shestakov <av6@dwimlabs.net>
parents: 5368
diff changeset
38
4926
0fad1d376814 heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4925
diff changeset
39 tests-py3-cext:
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
40 <<: *runtests
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
41 variables:
6906
67b8a57200f4 ci: skip doctests on older branches
Anton Shestakov <av6@dwimlabs.net>
parents: 6905
diff changeset
42 RUNTEST_ARGS: "--no-rust --blacklist /tmp/check-tests.txt --blacklist /tmp/doctest.txt"
5342
4a958a7bb138 ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents: 5341
diff changeset
43 TEST_HGMODULEPOLICY: "c"
4926
0fad1d376814 heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4925
diff changeset
44
0fad1d376814 heptapod-ci: test with python3 too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4925
diff changeset
45 tests-py3-pure:
5341
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
46 <<: *runtests
efb8ae4419b2 ci: use a template + variables for defining tests
Anton Shestakov <av6@dwimlabs.net>
parents: 5076
diff changeset
47 variables:
6906
67b8a57200f4 ci: skip doctests on older branches
Anton Shestakov <av6@dwimlabs.net>
parents: 6905
diff changeset
48 RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt --blacklist /tmp/doctest.txt"
5342
4a958a7bb138 ci: set HGMODULEPOLICY when running specific variants
Anton Shestakov <av6@dwimlabs.net>
parents: 5341
diff changeset
49 TEST_HGMODULEPOLICY: "py"
4986
1214f3d085a9 ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net>
parents: 4966
diff changeset
50
6146
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
51 .windows_runtests_template: &windows_runtests
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
52 before_script:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
53 - 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
54 script:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
55 - 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
56 - >
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
57 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
58 cd "$OLDPWD" &&
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
59 evo_branch=$(hg identify --branch) &&
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
60 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
61 hg -R C:/Temp/hg update "$hg_branch" &&
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
62 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
63 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
64 - Invoke-Expression "$Env:PYTHON --version"
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
65 - echo "$Env:RUNTEST_ARGS"
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
66 - 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
67
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
68 windows-py3:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
69 <<: *windows_runtests
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
70 tags:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
71 - windows
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
72 variables:
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
73 PYTHON: py -3
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
74 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
75 TEST_HGMODULEPOLICY: "c"
74665d83fb3b branching: merge stable into default
Anton Shestakov <av6@dwimlabs.net>
parents: 6141
diff changeset
76 when: manual