Various helpful scripts
Documentation. Rust and tools for:
- Substrate-based projects CIs
- android
- arm64
- armv7
- i686
- docs autogeneration
- various tools
- tools for kubernetes
Pipelines are triggered by schedule. Can be launched manually though. To launch the pipeline go to the project's CI/CD -> Schedules menu. To change, edit/create the new schedule: set the required variable and cron schedule.
- install
podman
(it's rootless) or rename it todocker
in the following snippet - Consider the following snippets pick one depending on which shell you use.
TLDR; the function runs the named container in the current dir with
- redirecting the current directory into the image
- keeping your shell history on your host
- keeping Rust caches on your host, so you build faster the next time
example use: cargoenvhere paritytech/ci-linux:production /bin/bash -c 'RUSTFLAGS="-Cdebug-assertions=y -Dwarnings" RUST_BACKTRACE=1 time cargo test --workspace --locked --release --verbose --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml'
- open the CI config file (
.gitlab-ci.yml
) - note
CI_IMAGE:
variable value there (for exampleparitytech/contracts-ci-linux:production
) - look for the job you want to reproduce and see if
*docker-env
orimage:
is mentioned there (then you should use this one) - note global and in-job
variables:
, in order to reproduce the job closely you might want to run it with the sameRUSTFLAGS
andCARGO_INCREMENTAL
podman pull [CI image name]
/docker pull [CI image name]
- execute your job how it's shown in the example ^
cargoenvhere [CI image name] /bin/bash -c ‘[cargo build ...]’
- find your artifacts in
/home/$USER/cache/[project name or current dir name]/target
for Linux users or/path/to/the/cloned/repo/target
for OS X users.
cargoenvhere paritytech/contracts-ci-linux:production cargo run