##// END OF EJS Templates
phases: use a more generic way to trigger a phases computation for perf...
phases: use a more generic way to trigger a phases computation for perf Querying the tip most revision will require the cache to warm the same as calling the dedicated method. This avoid using a method that is mostly meant for internal use and will be renamed in a coming changesets.

File last commit:

r51634:929655c0 stable
r52306:8fc92193 default
Show More
heptapod-ci.yml
165 lines | 5.2 KiB | text/x-yaml | YamlLexer
Raphaël Gomès
heptapod-ci: don't run pipelines for topic-less branches...
r51630 # Don't run pipelines on branch "merge", since we're fast-forward only.
# Gitlab sees a new branch (since e.g. `topic/stable/my-topic` becomes
# `branch/stable`), but the hash hasn't changed. There is no reason to
# re-run the CI in our case, since we haven't built up any specific automation.
# Right now it's just wasted CI and developer time.
Raphaël Gomès
heptapod-ci: remove push exception for named branches...
r51632 # One can still run the pipeline manually via the web interface,
Raphaël Gomès
heptapod-ci: don't run pipelines for topic-less branches...
r51630 # like in the case of releases, to make *extra* sure that the actual branch
# has succeeded.
workflow:
rules:
Raphaël Gomès
heptapod-ci: remove push exception for named branches...
r51632 - if: $CI_COMMIT_BRANCH =~ /^branch\/.*/ && $CI_PIPELINE_SOURCE != "web"
Raphaël Gomès
heptapod-ci: don't run pipelines for topic-less branches...
r51630 when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
Raphaël Gomès
heptapod-ci: turn off pipelines for merge request events...
r51634 when: never
- if: $CI_PIPELINE_SOURCE == "push"
Raphaël Gomès
heptapod-ci: always make the default run condition explicit...
r51633 when: always
Raphaël Gomès
heptapod-ci: don't run pipelines for topic-less branches...
r51630 - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
- if: $CI_COMMIT_BRANCH
Raphaël Gomès
heptapod-ci: always make the default run condition explicit...
r51633 when: always
Raphaël Gomès
heptapod-ci: don't run pipelines for topic-less branches...
r51630
heptapod-ci: add a explicite "test" phases...
r46573 stages:
- tests
heptapod-ci: allow testing with docker image other than :latest...
r47041 image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752
heptapod-ci: run test with python3 too...
r44754 variables:
PYTHON: python
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "allow"
ci: use the `v1.0` flavor of the docker images in the CI...
r49831 HG_CI_IMAGE_TAG: "v1.0"
Joerg Sonnenberger
ci: hook network-io tests into the pipeline...
r47434 TEST_HGTESTS_ALLOW_NETIO: "0"
heptapod-ci: run test with python3 too...
r44754
ci: add a "all" template to easily control "when" test run...
r48633 .all_template: &all
ci: do not trigger phabricator for merge-request...
r50076 when: on_success
ci: add a "all" template to easily control "when" test run...
r48633
heptapod-ci: run test with python3 too...
r44754 .runtests_template: &runtests
ci: add a "all" template to easily control "when" test run...
r48633 <<: *all
heptapod-ci: add a explicite "test" phases...
r46573 stage: tests
Dan Villiom Podlaski Christiansen
ci: avoid a global before_script definition...
r46861 # The runner made a clone as root.
# We make a new clone owned by user used to run the step.
before_script:
- hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
- hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
- cd /tmp/mercurial-ci/
- ls -1 tests/test-check-*.* > /tmp/check-tests.txt
heptapod-ci: indicate which version of black is used for the run...
r47131 - black --version
heptapod-ci: indicate which version of clang-format is used for the run...
r47133 - clang-format --version
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752 script:
heptapod-ci: run test with python3 too...
r44754 - echo "python used, $PYTHON"
Axel Prel
heptapod-ci: display python version...
r51325 - $PYTHON --version
heptapod-ci: run the normal test suite...
r44756 - echo "$RUNTEST_ARGS"
Joerg Sonnenberger
ci: hook network-io tests into the pipeline...
r47434 - HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
heptapod-ci: run test with python3 too...
r44754
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 checks:
heptapod-ci: run test with python3 too...
r44754 <<: *runtests
variables:
heptapod-ci: run the normal test suite...
r44756 RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
heptapod-ci: run test with python3 too...
r44754 PYTHON: python3
Raphaël Gomès
contrib: adjust heptapod CI flavor sizes...
r50840 CI_CLEVER_CLOUD_FLAVOR: S
heptapod-ci: also run the dedicated rust test for the rust code...
r44755
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 rust-cargo-test:
ci: have rust-cargo-test inherit from all...
r50083 <<: *all
heptapod-ci: add a explicite "test" phases...
r46573 stage: tests
heptapod-ci: also run the dedicated rust test for the rust code...
r44755 script:
- echo "python used, $PYTHON"
- make rust-tests
Raphaël Gomès
heptapod-ci: add `clippy` to the CI...
r50837 - make cargo-clippy
heptapod-ci: also run the dedicated rust test for the rust code...
r44755 variables:
PYTHON: python3
Raphaël Gomès
contrib: adjust heptapod CI flavor sizes...
r50840 CI_CLEVER_CLOUD_FLAVOR: S
heptapod-ci: also run the dedicated rust test for the rust code...
r44755
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 test-c:
heptapod-ci: run the normal test suite...
r44756 <<: *runtests
variables:
heptapod-ci: use the new `--rust/--no-rust` flag to run the tests
r44974 RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
heptapod-ci: run the normal test suite...
r44756 PYTHON: python3
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "c"
Joerg Sonnenberger
ci: hook network-io tests into the pipeline...
r47434 TEST_HGTESTS_ALLOW_NETIO: "1"
heptapod-ci: run the --pure test too...
r44757
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 test-pure:
heptapod-ci: run the --pure test too...
r44757 <<: *runtests
variables:
RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
PYTHON: python3
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "py"
heptapod-ci: add a job to test the rust version of Mercurial...
r44758
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 test-rust:
heptapod-ci: add a job to test the rust version of Mercurial...
r44758 <<: *runtests
variables:
HGWITHRUSTEXT: cpython
heptapod-ci: use the new `--rust/--no-rust` flag to run the tests
r44974 RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
heptapod-ci: add a job to test the rust version of Mercurial...
r44758 PYTHON: python3
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "rust+c"
heptapod-ci: also run tests for chg on python 2...
r45462
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 test-rhg:
Simon Sapin
ci: Add a job testing with rhg installed as `hg`...
r47489 <<: *runtests
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
PYTHON: python3
TEST_HGMODULEPOLICY: "rust+c"
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 test-chg:
Pulkit Goyal
contrib: run python3+chg tests too in heptapod CI...
r46762 <<: *runtests
variables:
PYTHON: python3
RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
TEST_HGMODULEPOLICY: "c"
Matt Harbison
heptapod-ci: enable pytype checking...
r47951
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 check-pytype:
Matt Harbison
heptapod-ci: enable pytype checking...
r47951 extends: .runtests_template
before_script:
- hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
- hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
- cd /tmp/mercurial-ci/
- make local PYTHON=$PYTHON
Matt Harbison
ci: bump pytype to 2022.11.18...
r50549 - $PYTHON -m pip install --user -U libcst==0.3.20 pytype==2022.11.18
Matt Harbison
ci: run the script to add vendored type stubs to typeshed...
r50548 - ./contrib/setup-pytype.sh
Raphaël Gomès
heptapod-ci: use shell script in pytype step
r50397 script:
- echo "Entering script section"
- sh contrib/check-pytype.sh
Matt Harbison
heptapod-ci: enable pytype checking...
r47951 variables:
PYTHON: python3
Raphaël Gomès
ci-windows: introduce manual windows CI...
r48370
# `sh.exe --login` sets a couple of extra environment variables that are defined
# in the MinGW shell, but switches CWD to /home/$username. The previous value
# is stored in OLDPWD. Of the added variables, MSYSTEM is crucial to running
# run-tests.py- it is needed to make run-tests.py generate a `python3` script
# that satisfies the various shebang lines and delegates to `py -3`.
.window_runtests_template: &windows_runtests
ci: add a "all" template to easily control "when" test run...
r48633 <<: *all
Raphaël Gomès
heptapod-ci: make Windows jobs manual again...
r49354 when: manual # we don't have any Windows runners anymore at the moment
Raphaël Gomès
ci-windows: introduce manual windows CI...
r48370 stage: tests
before_script:
Raphaël Gomès
windows-ci: clean up the Heptapod CI file now that the baseline is solid...
r48606 - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.* > C:/Temp/check-tests.txt'
Raphaël Gomès
ci-windows: introduce manual windows CI...
r48370 # TODO: find/install cvs, bzr, perforce, gpg, sqlite3
script:
- echo "Entering script section"
- echo "python used, $Env:PYTHON"
- Invoke-Expression "$Env:PYTHON -V"
- Invoke-Expression "$Env:PYTHON -m black --version"
- echo "$Env:RUNTEST_ARGS"
Raphaël Gomès
windows-ci: clean up the Heptapod CI file now that the baseline is solid...
r48606 - echo "$Env:TMP"
- echo "$Env:TEMP"
Raphaël Gomès
ci-windows: introduce manual windows CI...
r48370
- C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" $PYTHON tests/run-tests.py --color=always $RUNTEST_ARGS'
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 windows:
Raphaël Gomès
ci-windows: introduce manual windows CI...
r48370 <<: *windows_runtests
tags:
- windows
variables:
windows: enforce the module policy to be c for test...
r48445 TEST_HGMODULEPOLICY: "c"
Raphaël Gomès
windows-ci: clean up the Heptapod CI file now that the baseline is solid...
r48606 RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
Raphaël Gomès
ci-windows: introduce manual windows CI...
r48370 PYTHON: py -3
Matt Harbison
ci: run --pyoxidized tests on Windows...
r48635
Raphaël Gomès
heptapod-ci: remove useless mentions of Python 3...
r49804 windows-pyox:
Matt Harbison
ci: run --pyoxidized tests on Windows...
r48635 <<: *windows_runtests
tags:
- windows
variables:
TEST_HGMODULEPOLICY: "c"
RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt --pyoxidized"
PYTHON: py -3