Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 3 Next »

Support for Existing Setups

  • Support the existing Jenkins and Gerrit setup that the Fabric team uses.
  • Support the existing Gitlab-CI setup used for Indy and Ursa while they transition to the new system.
  • Automatically driven by the PR process with build results gating PR merges.

New Capabilities

  • Support Kubernetes clusters for test net creation, monitoring, destruction.
  • Profiling capabilities for unit tests and pipeline steps.
  • Must be self-service so that teams have full control over their part of the available resources.

Iroha

Support for Existing Setups:

  • Jenkins:
    • ability to self-manage plugins, credentials, job parameters
    • start and restart build feature for maintainers
  • Multiplatform/multiarchitecture builds:
    • Linux x86_64, armv7 (hard to find large RAM instances), armv8
    • Windows x86_64
    • MacOS x86_64
  • Multi compilers:
    • gcc5, gcc7, clang6, Apple clang (on macos), Visual C++ (windows)
  • Instead of compiling on a native platform cross-compilation can be used (but it hurts):
    • Requires a list of specific-version dependencies for each platform
    • Compiling dependencies for other dependencies
  • ~ 2-2.5GB RAM per compilation thread (currently builds are running on one-off AWS EC2 instances (c5.2xlarge))
  • Uploading artifacts to DockerHub and our Nexus repository (debug builds, etc)

Fabric

Support for Existing Setups:

  • Docker
  • No labels