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 5 Next »

Design

Reorganize Makefile for each repo

  • Repos which should tag code, publish and push Docker images
  • Repos which should tag code only
  • Repos which should tag code, publish and push Helm charts

Create a PR

  • Run two workflows in parallel
    • Workflow 1: Code scanning
      • Version check job: validate version in VERSION file with Makefile target - make check-version 
      • Lint job: check linters with Makefile target - make lint 
      • License job: check license with Makefile target - make license 
      • Fossa check job: run Fossa check with fossa-action 
    • Workflow 2: Test and build
      • Build job: build code with Makefile target - make build 
      • Test job: run tests with Makefile target - make test 

Merge a PR

  • Run three workflows in parallel
    • Workflow 1: Code scanning
      • Version check job: validate version in VERSION file with Makefile target - make check-version 
      • Lint job: check linters with Makefile target - make lint 
      • License job: check license with Makefile target - make license 
      • Fossa check job: run Fossa check with fossa-action 
    • Workflow 2: Test and build
      • Build job: build code with Makefile target - make build 
      • Test job: run tests with Makefile target - make test 
    • Workflow 3: Publish image/chart and tag/release code 
      • Version check job: validate version again right before publish image/chart and tag/release code
      • Tag version job: if version is valid and not including -dev suffix, create a tag with version in VERSION file
      • Publish image job:
        • Step 1: build and push Docker image with tag latest if version is valid
        • Step 2: build and push Docker image with a specific version in VERSION  file, if version is valid and not including -dev suffix
      • Bump-up version job: if version is valid and not including -dev suffix, update VERSION file to increase the patch version and add -dev suffix and then create a PR for this VERSION file change

How to check version?

Sample: https://raw.githubusercontent.com/onosproject/onos-pci/master/build/bin/version_check.sh

Repository configuration

  • Github repo settings > General tab > Pull Requests section
  • Github repo settings > branches > main rule

Target repositories

RepositoryCode ScanTest and BuildRelease and PublishDone?







  • No labels