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" .runtests_template: &runtests 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 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 when: manual 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" PYTHON: python3 TEST_HGMODULEPOLICY: "c"