##// END OF EJS Templates
rust: replace most "operation" structs with functions...
rust: replace most "operation" structs with functions The hg-core crate has a partially-formed concept of "operation", represented as structs with constructors and a `run` method. Each struct’s contructor takes different parameters, and each `run` has a different return type. Constructors typically don’t do much more than store parameters for `run` to access them. There was a comment about adding an `Operation` trait when the language supports expressing something so general, but it’s hard to imagine how operations with such different APIs could be used in a generic context. This commit starts removing the concept of "operation", since those are pretty much just functions. Differential Revision: https://phab.mercurial-scm.org/D9595

File last commit:

r46660:7905899c default
r46751:dca9cb99 default
Show More
heptapod-ci.yml
116 lines | 3.0 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
Georges Racinet
heptapod-ci: hosting base image on registry.heptapod.net...
r46509 image: registry.heptapod.net/mercurial/ci-images/mercurial-core
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752
# The runner made a clone as root.
# We make a new clone owned by user used to run the step.
before_script:
heptapod-ci: do not publish changeset when doing the local clone...
r46579 - hg clone . /tmp/mercurial-ci/ --noupdate --config phases.publish=no
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752 - hg -R /tmp/mercurial-ci/ update `hg log --rev '.' --template '{node}'`
Antoine Cezar
heptapod-ci: build rhg before tests run...
r45594 - cd /tmp/mercurial-ci/rust/rhg
- cargo build
heptapod-ci: add a basic file to be able to run tests with heptapod...
r44752 - cd /tmp/mercurial-ci/
heptapod-ci: fix test paths in the listing file...
r45050 - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
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"
heptapod-ci: run test with python3 too...
r44754
.runtests_template: &runtests
heptapod-ci: add a explicite "test" phases...
r46573 stage: tests
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"
heptapod-ci: run the test from outside the test directory...
r44979 - 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
rust-cargo-test-py2: &rust_cargo_test
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
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 <<: *rust_cargo_test
variables:
PYTHON: python3
heptapod-ci: run the normal test suite...
r44756
heptapod-ci: automatically refresh existing phabricator Diff on push...
r46606 phabricator-refresh:
stage: phabricator
script:
phab-refresh: add an explanatory message...
r46660 - "./contrib/phab-refresh-stack.sh --comment \":white_check_mark: refresh by Heptapod after a successful CI run (:octopus: :green_heart:)\""
heptapod-ci: automatically refresh existing phabricator Diff on push...
r46606
Raphaël Gomès
rust: introduce `dirstate-tree` cargo feature...
r46184 rust-cargo-test-py3-dirstate-tree:
<<: *rust_cargo_test
variables:
PYTHON: python3
HG_RUST_FEATURES: dirstate-tree
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"
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"
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-py2-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: use strict module policy...
r44926 TEST_HGMODULEPOLICY: "rust+c"
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
Raphaël Gomès
rust: introduce `dirstate-tree` cargo feature...
r46184 test-py3-rust-dirstate-tree:
<<: *runtests
variables:
HGWITHRUSTEXT: cpython
RUNTEST_ARGS: "--rust --blacklist /tmp/check-tests.txt"
PYTHON: python3
TEST_HGMODULEPOLICY: "rust+c"
HG_RUST_FEATURES: "dirstate-tree"
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"