Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

On the Jenkins dashboard, a list of all Jenkins jobs required to build, test, verify and release each of the Hyperledger Fabric projects is organized and displayed in separate views. For example, the Fabric view displays each of the jobs related to the fabric project:Image Removed.

Here, all of the Jenkins jobs for testing the Fabric project are displayed. The Jenkins jobs are displayed in a table, and indicates:

...

Continuing with the Fabric project example, the jobs list contains multiple jobs required to accurately build, test, and verify the Hyperledger Fabric project. The job types for the Fabric project are as follows

* Verify
  * End-to-End Unit Tests (performs e2e_cli, sdk node e2emake linter, java sdk e2e make unit-tests)

* UnitIntegration Tests (performs make linter, make unit-integration tests) * Documentation changes (Builds the documentation and ship it to nexus log server. )

You can check the RTD format of you patch set documentation build here https://logs.hyperledger.org/production/vex-yul-hyp-jenkins-3/fabric-rtddocs-verifybuild-masterx86_64/<build_number>/html

ex: https://logs.hyperledger.org/production/vex-yul-hyp-jenkins-3/fabric-rtddocs-verifybuild-masterx86_64/3592058/html

* Merge
   * End-to

...

-End (performs node-sdk e2e, java-sdk e2e, byfn-eyfn tests)
   * Unit-Tests


IMPORTANT NOTE: Although many of the job types listed above are common across all Hyperledger Fabric projects, the list indicated above is specific to the Hyperledger Fabric project. Different projects will have different job types based on their individual build/test/release requirements.

...

Verify jobs are triggers when a "patchset-created-event" is triggered in gerrit. All verify jobs are depends on the patchset parent commit and patchset commit. That tells, verify jobs run on the parent commit on which developer submitted patch not on the latest master code.

...

Merge jobs triggers when a “change-merged-event” event is triggered in gerrit. In all the merge jobs, Jenkins clones the latest master code and perform the tests, unlike verify jobs.

Release Jobs

...

With most job types, the Jenkins build jobs are broken down further to build, test, and release the Hyperledger Fabric projects with support for varying CPU architectures. They include:

  • x86_x64

  • s390x (No support beyond 2.0)

Support for varying test types

Additionally, with most job types, you will notice the Jenkins jobs are further isolated to include a number of test types. Those include:

  • End-to-EndEnd 

  • BYFN Checks (-EYFN [byfn, eyfn with (default, custom, couchdbCouchDB, node lang chaincode, java lang chaincode, raft.)]

  • Fabcar
  • Unit Tests

  • Smoke/Functional/Performance/Release tests ( More functional tests from the fabric-test repository)

For more information on what each of these test types are is used for, refer to the Fabric Hyperledger fabric CI ProcessOverview documentation.

CI-Management Repo

...

The ci-management repo hosts the CI job definitions for all of the Hyperledger Fabric projects integrated with Jenkins. Each job configuration is written in YAML format , and built with the Jenkins Job Builder (JJB) tool.

...

Step 2: Click on Reply and type the below comment phrases based on the project and click Post

CI jobs listens on listen to the below comment phrases in for each fabric project.:

fabric:

  • Run VerifyBuild/VerifyBuild - Triggers fabric-verify-build-checks-x86_64

  • Run SmokeTest – Triggers fabric-smoke-tests-x86_64.Run UnitTest – Triggers fabric-verify-unit-tests-x86_64.

  • Run IntegrationTest - Triggers fabric-verify-integration-tests-x86_64

  • Run DocsBuild – Triggers fabric-docs-build-x86_64

...

If you are a developer having difficulty obtaining that green checkmark consistently from hyperledger-jobbuilder because your merge job or verify job fails, then *create a bug* in jira Jira to start the process rolling to fix the problem for everyone in the community!

  1. Take a look at why your patchset is failing verification. If it seems unrelated to your patchset changes, then…

  2. Examine console logs for other patchsets build failures occurring in Fabric Project builds. Confirm if any others are seeing build failures with the same symptoms. If so, then…

  3. Find out if a bug exists already for your problem. The first place to look is the list of open CI_Failure bugs. Next, SEARCH Fabric Issues for your error strings symptoms. If no bug exists for your problem, then…

  4. CREATE a bug with severity = 'Highest' and label = 'ci_failure', and set the appropriate component for triage. Squads regularly review their components bug lists.

  5. Alert the community by reaching out to #fabric-ci channel (or #infra-support channel, if the issue pertains to network latency issues, such as FAB-7971), where you may find help and discussions of similar topics. For more info, see the CI FAQs, below.

CI Weekly 


Frequently Asked Questions

...