dash/ci
MarcoFalke 8f5d07ec82 Merge #17284: build: update retry to current version
58d0393bec7680933702b76cd3f1d1e33030ed16 build: update retry to current version (randymcmillann)

Pull request description:

  This commit eliminates spelling and white space
  errors that are flagged in the linting process

ACKs for top commit:
  practicalswift:
    ACK 58d0393bec7680933702b76cd3f1d1e33030ed16

Tree-SHA512: c241ed0775026c890dd29d1f7231c5540e9c9285867a99844605753a3007d08f0bd4f7a59f078e4c65b741301ff7fa8a871e2e3c64b9a9fe47b3ea74c4228498
2022-04-03 18:08:40 -05:00
..
dash fuzz: add gitlab build support, use clang 2022-03-17 19:23:55 +05:30
extended_lint merge bitcoin#16582: Rework ci (Use travis only as fallback env) 2022-02-12 19:24:32 +05:30
lint merge bitcoin#13728: Run the CI lint stage on mac 2022-02-12 19:24:32 +05:30
retry Merge #17284: build: update retry to current version 2022-04-03 18:08:40 -05:00
test merge bitcoin#17041: Run tests on arm 2022-02-12 19:24:32 +05:30
README.md merge bitcoin#16623: Add environment files for all settings 2022-02-12 19:24:32 +05:30
test_run_all.sh merge bitcoin#16623: Add environment files for all settings 2022-02-12 19:24:32 +05:30

ci scripts

This directory contains scripts for each build step in each build stage.

Currently three stages lint, extended_lint and test are defined. Each stage has its own lifecycle, similar to the Travis CI lifecycle. Every script in here is named and numbered according to which stage and lifecycle step it belongs to.

Running a stage locally

To allow for a wide range of tested environments, but also ensure reproducibility to some extent, the test stage requires docker to be installed. To install all requirements on Ubuntu, run

sudo apt install docker.io ccache bash git

To run the default test stage,

./ci/test_run_all.sh

To run the test stage with a specific configuration,

FILE_ENV="./ci/test/00_setup_env_arm.sh" ./ci/test_run_all.sh

Be aware that the tests will be build and run in-place, so please run at your own risk. If the repository is not a fresh git clone, you might have to clean files from previous builds or test runs first.