Versions Compared

Key

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

Tool used for CI

GitHub Actions


Introduction

GitHub Action workflows are added to the ODIM repository. These workflows called as checks gets triggered whenever a Pull Request(PR) is raised against the master branch.

The result from the workflow execution is then updated to the PR.

PRs are allowed to review and merge, only if the checks are passed.


Following checks are added as part of CI process:


Sl No.

Workflow Name

Description

1

build_unittest.yml

Builds and run Unit Tests with code coverage enabled

2

build_deploy_test.yml

Builds, Deploys, run sanity tests and upload build artifacts (like odimra logs)


These checks run in parallel and takes approximately 9 mins to complete.


GitHub Action Workflows details

  1.  build_unittest.yml
    1. Brings up a Ubuntu 18.04 VM hosted on GitHub infrastructure with preinstalled packages mentioned in link https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
    2. Installs Go 1.13.8 package
    3. Installs and configures Redis 5.0.8 with two instances running on port 6379 and 6380.
    4. Checks out the PR code into the Go module directory
    5. Builds the code
    6. Runs the unit tests
  2.  build_deploy_test.yml
    1. Brings up a Ubuntu 18.04 VM hosted on GitHub infrastructure with preinstalled packages mentioned in link https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
    2. Checks out the PR code
    3. Build and deploys the following docker containers
      1. Odimra
      2. Generic redfish plugin
      3. Kakfa
      4. Zookeeper
      5. Consul
      6. Redisdb
      7. Runs the sanity tests
      8. Uploads the build artifacts

         Note: Build status notifications with the link to the GitHub Actions build job page will be sent to the developer’s email.


Screen shots of the checks after they are executed


Image Added

Image Added


Image Added<Coming soon>