##// END OF EJS Templates
windows-ci: temporarily allow Windows jobs to fail...
windows-ci: temporarily allow Windows jobs to fail We have unfortunately ran out of free credit on the runners we were using from OVH for the Windows CI. We will be disabling the two remaining ones on the 30th of September, hence we need the CI to pass even if Windows jobs cannot start as a temporary measure. Hopefully we can find another way of getting Windows runners soon. Differential Revision: https://phab.mercurial-scm.org/D11499

File last commit:

r48884:750920b1 5.9.2 stable
r48884:750920b1 5.9.2 stable
Show More
heptapod-ci.yml
188 lines | 5.8 KiB | text/x-yaml | YamlLexer
stages:
- tests
- phabricator
image: registry.heptapod.net/mercurial/ci-images/mercurial-core:$HG_CI_IMAGE_TAG
variables:
PYTHON: python
TEST_HGMODULEPOLICY: "allow"
HG_CI_IMAGE_TAG: "latest"
TEST_HGTESTS_ALLOW_NETIO: "0"
.all_template: &all
when: always
.runtests_template: &runtests
<<: *all
stage: tests
# 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
- black --version
- clang-format --version
script:
- echo "python used, $PYTHON"
- echo "$RUNTEST_ARGS"
- HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" tests/run-tests.py --color=always $RUNTEST_ARGS
checks-py2:
<<: *runtests
variables:
RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
checks-py3:
<<: *runtests
variables:
RUNTEST_ARGS: "--time --test-list /tmp/check-tests.txt"
PYTHON: python3
rust-cargo-test-py2: &rust_cargo_test
<<: *all
stage: tests
script:
- echo "python used, $PYTHON"
- make rust-tests
rust-cargo-test-py3:
stage: tests
<<: *rust_cargo_test
variables:
PYTHON: python3
phabricator-refresh:
stage: phabricator
variables:
DEFAULT_COMMENT: ":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)"
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}"
script:
- |
if [ `hg branch` == "stable" ]; then
./contrib/phab-refresh-stack.sh --comment "$STABLE_COMMENT";
else
./contrib/phab-refresh-stack.sh --comment "$DEFAULT_COMMENT";
fi
test-py2:
<<: *runtests
variables:
RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
TEST_HGMODULEPOLICY: "c"
TEST_HGTESTS_ALLOW_NETIO: "1"
test-py3:
<<: *runtests
variables:
RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
PYTHON: python3
TEST_HGMODULEPOLICY: "c"
TEST_HGTESTS_ALLOW_NETIO: "1"
test-py2-pure:
<<: *runtests
variables:
RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
TEST_HGMODULEPOLICY: "py"
test-py3-pure:
<<: *runtests
variables:
RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
PYTHON: python3
TEST_HGMODULEPOLICY: "py"
test-py2-rust:
<<: *runtests
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
TEST_HGMODULEPOLICY: "rust+c"
test-py3-rust:
<<: *runtests
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
PYTHON: python3
TEST_HGMODULEPOLICY: "rust+c"
test-py3-rhg:
<<: *runtests
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --rhg --blacklist /tmp/check-tests.txt"
PYTHON: python3
TEST_HGMODULEPOLICY: "rust+c"
test-py2-chg:
<<: *runtests
variables:
RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
TEST_HGMODULEPOLICY: "c"
test-py3-chg:
<<: *runtests
variables:
PYTHON: python3
RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt --chg"
TEST_HGMODULEPOLICY: "c"
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"
HGTEST_TIMEOUT: "3600"
PYTHON: python3
TEST_HGMODULEPOLICY: "c"
# `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
<<: *all
when: manual # we don't have any Windows runners anymore at the moment
stage: tests
before_script:
- C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.* > C:/Temp/check-tests.txt'
# 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"
- echo "$Env:TMP"
- echo "$Env:TEMP"
- 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:
TEST_HGMODULEPOLICY: "c"
RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
PYTHON: py -3
windows-py3-pyox:
<<: *windows_runtests
tags:
- windows
variables:
TEST_HGMODULEPOLICY: "c"
RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt --pyoxidized"
PYTHON: py -3