heptapod-ci.yml
193 lines
| 5.9 KiB
| text/x-yaml
|
YamlLexer
/ contrib / heptapod-ci.yml
r46573 | stages: | |||
- tests | ||||
r46606 | - phabricator | |||
r46573 | ||||
r47041 | image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG | |||
r44752 | ||||
r44754 | variables: | |||
PYTHON: python | ||||
r44926 | TEST_HGMODULEPOLICY: "allow" | |||
r49831 | HG_CI_IMAGE_TAG: "v1.0" | |||
Joerg Sonnenberger
|
r47434 | TEST_HGTESTS_ALLOW_NETIO: "0" | ||
r44754 | ||||
r48633 | .all_template: &all | |||
when: always | ||||
r44754 | .runtests_template: &runtests | |||
r48633 | <<: *all | |||
r46573 | stage: tests | |||
Dan Villiom Podlaski Christiansen
|
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 | ||||
r47131 | - black --version | |||
r47133 | - clang-format --version | |||
r44752 | script: | |||
r44754 | - echo "python used, $PYTHON" | |||
r44756 | - echo "$RUNTEST_ARGS" | |||
Joerg Sonnenberger
|
r47434 | - HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS | ||
r44754 | ||||
checks-py2: | ||||
<<: *runtests | ||||
r44756 | variables: | |||
RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt" | ||||
r44754 | ||||
checks-py3: | ||||
<<: *runtests | ||||
variables: | ||||
r44756 | RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt" | |||
r44754 | PYTHON: python3 | |||
r44755 | ||||
rust-cargo-test-py2: &rust_cargo_test | ||||
r48633 | <<: *all | |||
r46573 | stage: tests | |||
r44755 | script: | |||
- echo "python used, $PYTHON" | ||||
- make rust-tests | ||||
rust-cargo-test-py3: | ||||
r46573 | stage: tests | |||
r44755 | <<: *rust_cargo_test | |||
variables: | ||||
PYTHON: python3 | ||||
r44756 | ||||
r46606 | phabricator-refresh: | |||
stage: phabricator | ||||
r49546 | rules: | |||
- if: '"$PHABRICATOR_TOKEN" != "NO-PHAB"' | ||||
when: on_success | ||||
- if: '"$PHABRICATOR_TOKEN" == "NO-PHAB"' | ||||
when: never | ||||
r47741 | variables: | |||
DEFAULT_COMMENT: ":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)" | ||||
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}" | |||
r46606 | script: | |||
r47742 | - | | |||
if [ `hg branch` == "stable" ]; then | ||||
./contrib/phab-refresh-stack.sh --comment "$STABLE_COMMENT"; | ||||
else | ||||
./contrib/phab-refresh-stack.sh --comment "$DEFAULT_COMMENT"; | ||||
fi | ||||
r46606 | ||||
r44756 | test-py2: | |||
<<: *runtests | ||||
variables: | ||||
r44974 | RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt" | |||
r44926 | TEST_HGMODULEPOLICY: "c" | |||
Joerg Sonnenberger
|
r47434 | TEST_HGTESTS_ALLOW_NETIO: "1" | ||
r44756 | ||||
test-py3: | ||||
<<: *runtests | ||||
variables: | ||||
r44974 | RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt" | |||
r44756 | PYTHON: python3 | |||
r44926 | TEST_HGMODULEPOLICY: "c" | |||
Joerg Sonnenberger
|
r47434 | TEST_HGTESTS_ALLOW_NETIO: "1" | ||
r44757 | ||||
test-py2-pure: | ||||
<<: *runtests | ||||
variables: | ||||
RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt" | ||||
r44926 | TEST_HGMODULEPOLICY: "py" | |||
r44757 | ||||
test-py3-pure: | ||||
<<: *runtests | ||||
variables: | ||||
RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt" | ||||
PYTHON: python3 | ||||
r44926 | TEST_HGMODULEPOLICY: "py" | |||
r44758 | ||||
test-py2-rust: | ||||
<<: *runtests | ||||
variables: | ||||
HGWITHRUSTEXT: cpython | ||||
r44974 | RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt" | |||
r44926 | TEST_HGMODULEPOLICY: "rust+c" | |||
r44758 | ||||
test-py3-rust: | ||||
<<: *runtests | ||||
variables: | ||||
HGWITHRUSTEXT: cpython | ||||
r44974 | RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt" | |||
r44758 | PYTHON: python3 | |||
r44926 | TEST_HGMODULEPOLICY: "rust+c" | |||
r45462 | ||||
Simon Sapin
|
r47489 | test-py3-rhg: | ||
<<: *runtests | ||||
variables: | ||||
HGWITHRUSTEXT: cpython | ||||
RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt" | ||||
PYTHON: python3 | ||||
TEST_HGMODULEPOLICY: "rust+c" | ||||
r45462 | test-py2-chg: | |||
<<: *runtests | ||||
variables: | ||||
RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg" | ||||
TEST_HGMODULEPOLICY: "c" | ||||
Pulkit Goyal
|
r46762 | |||
test-py3-chg: | ||||
<<: *runtests | ||||
variables: | ||||
PYTHON: python3 | ||||
RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg" | ||||
TEST_HGMODULEPOLICY: "c" | ||||
Matt Harbison
|
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
|
r49097 | HGTEST_SLOWTIMEOUT: "3600" | ||
Matt Harbison
|
r47951 | PYTHON: python3 | ||
TEST_HGMODULEPOLICY: "c" | ||||
Raphaël Gomès
|
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 | ||||
r48633 | <<: *all | |||
Raphaël Gomès
|
r49354 | when: manual # we don't have any Windows runners anymore at the moment | ||
Raphaël Gomès
|
r48370 | stage: tests | ||
before_script: | ||||
Raphaël Gomès
|
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
|
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
|
r48606 | - echo "$Env:TMP" | ||
- echo "$Env:TEMP" | ||||
Raphaël Gomès
|
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: | ||||
r48445 | TEST_HGMODULEPOLICY: "c" | |||
Raphaël Gomès
|
r48606 | RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt" | ||
Raphaël Gomès
|
r48370 | PYTHON: py -3 | ||
Matt Harbison
|
r48635 | |||
windows-py3-pyox: | ||||
<<: *windows_runtests | ||||
tags: | ||||
- windows | ||||
variables: | ||||
TEST_HGMODULEPOLICY: "c" | ||||
RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt --pyoxidized" | ||||
PYTHON: py -3 | ||||