##// END OF EJS Templates
ci: do not trigger phabricator for merge-request...
ci: do not trigger phabricator for merge-request The fast the phabricator steps has a `rules` entry makes it selected for the special `merge_requests` pipelines. The other ones behave as default and are not selected tot the mrege_request pipelines. This result in a second pipeline to be created, with only the phabricator pipeline in it. Which usually succeed fast (since there is nothing to do). This is harmful as this create a false sense of "the series is passing" and Gitlab will use this simplistic pipeline for validation. By explicitly preventing the pipeline to be created in the merge-request case, we prevent this situation to happens Note that the job will be dropped (alonside phabricator) in the next two weeks anyway.

File last commit:

r50076:477b5145 stable
r50076:477b5145 stable
Show More
heptapod-ci.yml
179 lines | 5.6 KiB | text/x-yaml | YamlLexer
heptapod-ci: add a explicite "test" phases...
r46573 stages:
- tests
heptapod-ci: automatically refresh existing phabricator Diff on push...
r46606 - phabricator
heptapod-ci: add a explicite "test" phases...
r46573
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"
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
checks-py2:
<<: *runtests
heptapod-ci: run the normal test suite...
r44756 variables:
RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
heptapod-ci: run test with python3 too...
r44754
checks-py3:
<<: *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
heptapod-ci: also run the dedicated rust test for the rust code...
r44755
Raphaël Gomès
ci: remove py2-rust support...
r50056 rust-cargo-test-py3:
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
heptapod-ci: automatically refresh existing phabricator Diff on push...
r46606 phabricator-refresh:
stage: phabricator
ci: do not trigger phabricator for merge-request...
r50076 except:
refs:
- merge_requests
variables:
- $PHABRICATOR_TOKEN == "NO-PHAB"
phab-refresh: extract the comment in a variable...
r47741 variables:
DEFAULT_COMMENT: ":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)"
phab-refresh: use a special comment on the stable branch...
r47742 STABLE_COMMENT: ":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)\n⚠ This patch is intended for stable ⚠\n{image https://media.giphy.com/media/nYI8SmmChYXK0/source.gif}"
heptapod-ci: automatically refresh existing phabricator Diff on push...
r46606 script:
phab-refresh: use a special comment on the stable branch...
r47742 - |
if [ `hg branch` == "stable" ]; then
./contrib/phab-refresh-stack.sh --comment "$STABLE_COMMENT";
else
./contrib/phab-refresh-stack.sh --comment "$DEFAULT_COMMENT";
fi
heptapod-ci: automatically refresh existing phabricator Diff on push...
r46606
heptapod-ci: run the normal test suite...
r44756 test-py2:
<<: *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: 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 normal test suite...
r44756
test-py3:
<<: *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
test-py2-pure:
<<: *runtests
variables:
RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
heptapod-ci: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "py"
heptapod-ci: run the --pure test too...
r44757
test-py3-pure:
<<: *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
test-py3-rust:
<<: *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
Simon Sapin
ci: Add a job testing with rhg installed as `hg`...
r47489 test-py3-rhg:
<<: *runtests
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
PYTHON: python3
TEST_HGMODULEPOLICY: "rust+c"
heptapod-ci: also run tests for chg on python 2...
r45462 test-py2-chg:
<<: *runtests
variables:
RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
TEST_HGMODULEPOLICY: "c"
Pulkit Goyal
contrib: run python3+chg tests too in heptapod CI...
r46762
test-py3-chg:
<<: *runtests
variables:
PYTHON: python3
RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
TEST_HGMODULEPOLICY: "c"
Matt Harbison
heptapod-ci: enable pytype checking...
r47951
check-pytype-py3:
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
- $PYTHON -m pip install --user -U pytype==2021.04.15
variables:
RUNTEST_ARGS: " --allow-slow-tests tests/test-check-pytype.t"
Raphaël Gomès
heptapod-ci: actually give pytest more time before timeout...
r49097 HGTEST_SLOWTIMEOUT: "3600"
Matt Harbison
heptapod-ci: enable pytype checking...
r47951 PYTHON: python3
TEST_HGMODULEPOLICY: "c"
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'
windows-py3:
<<: *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
windows-py3-pyox:
<<: *windows_runtests
tags:
- windows
variables:
TEST_HGMODULEPOLICY: "c"
RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt --pyoxidized"
PYTHON: py -3