You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Requirements

Functional

  • Full check of Pull Requests
    • Static analysis via `cargo check` and `cargo clippy`
    • Builds via `cargo build` and `cargo build --release`
    • Tests via `cargo test` and `cargo bench`
    • Documentation generation by `cargo doc`
    • Docker build (debug + release)
  • Full check for "master" (iroha2-dev for now)
    • Static analysis via `cargo check` and `cargo clippy`
    • Builds via `cargo build` and `cargo build --release`
    • Tests via `cargo test` and `cargo bench`
    • Documentation generation by `cargo doc`
    • Docker build (debug + release)
  • Publishing of artifacts for "master"
    • Code coverage (tarpauline or grcow)
    • Benchmarks results as HTML (better to be also deployed as a static page) via criterion https://bheisler.github.io/criterion.rs/book/user_guide/html_report.html
    • Builds via `cargo build --release` as GitHub artifacts
    • Builds via `cargo publish` as Crates.io crate
    • Documentation publishing on docs.rs (better to be also deployed as a static page) via `cargo publish`
    • Docker image publish to hub.docker.com (with latest tag)
  • Additional testing for "master"
    • Deployment on K8S cluster via https://kompose.io/
    • Run of integration tests (TBD by Iroha team)
    • Automatic issue creation on fails

Non-Functional

  • Keep build time for Pull Requests less than 10 minutes
  • Keep independent jobs parallel (builds for different profiles and platforms, tests and documentation, etc.)

Proposal

GitLab CI notation description of the Pipeline:


Graphical representation:


  • No labels