##// END OF EJS Templates
revlog: introduce an explicit tracking of what the revlog is about...
revlog: introduce an explicit tracking of what the revlog is about Since the dawn of time, people have been forced to rely to lossy introspection of the index filename to determine what the purpose and role of the revlog they encounter is. This is hacky, error prone, inflexible, abstraction-leaky, <insert-your-own-complaints-here>. In f63299ee7e4d Raphaël introduced a new attribute to track this information: `revlog_kind`. However it is initialized in an odd place and various instances end up not having it set. In addition is only tracking some of the information we end up having to introspect in various pieces of code. So we add a new attribute that holds more data and is more strictly enforced. This work is done in collaboration with Raphaël. The `revlog_kind` one will be removed/adapted in the next changeset. We expect to be able to clean up various existing piece of code and to simplify coming work around the newer revlog format. Differential Revision: https://phab.mercurial-scm.org/D10352

File last commit:

r47742:75351b8b default
r47838:4c041c71 default
Show More
heptapod-ci.yml
127 lines | 3.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"
heptapod-ci: add a default value for HG_CI_IMAGE_TAG...
r47130 HG_CI_IMAGE_TAG: "latest"
Joerg Sonnenberger
ci: hook network-io tests into the pipeline...
r47434 TEST_HGTESTS_ALLOW_NETIO: "0"
heptapod-ci: run test with python3 too...
r44754
.runtests_template: &runtests
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
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
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-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
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"