/ci-config-orb-build

Primary LanguageShellOtherNOASSERTION

mojaloop/build

CircleCI Build Status CircleCI Orb Version GitHub License

mojaloop/build is a CircleCI orb for node.js build jobs in Mojaloop CI/CD pipelines

Usage

To use the mojaloop/build orb in your CircleCI configuration, turn on Enable dynamic config using setup workflows in the Advanced Settings of your project settings CircleCI. Then include the following in your .circleci/config.yml:

version: 2.1
setup: true
orbs:
  build: mojaloop/build@1.0.17
workflows:
  setup:
    jobs:
      - build/workflow:
          filters:
            tags:
              only: /v\d+(\.\d+){2}(-(snapshot|hotfix|perf)\.\d+)?/

Conventions:

  • If a Dockerfile is present in the root of the repository, it will be used to build and publish an image.
  • If a package.json is present in the root of the repository and it does not have private=true, the package will be published to npm for the applicable branches and tags.
  • Integration and functional tests will execute npm run test:integration and npm run test:functional respectively. If no such tests are needed set these scripts for 'true' in the package.json file.

Resources

CircleCI Orb Registry Page - The official registry page of this orb for all versions, executors, commands, and jobs described.

CircleCI Orb Docs - Docs for using, creating, and publishing CircleCI Orbs.

How to Contribute

We welcome issues to and pull requests against this repository!

How to Publish An Update

  1. Merge pull requests with desired changes to the main branch.
  2. Find the current version of the orb.
    • You can run circleci orb info mojaloop/build | grep "Latest" to see the current version.
  3. Create a new Release on GitHub.
    • Click "Choose a tag" and create a new semantically versioned tag. (ex: v1.0.0)
    • We will have an opportunity to change this before we publish if needed after the next step.
  4. Click "+ Auto-generate release notes".
    • This will create a summary of all of the merged pull requests since the previous release.
    • If you have used Conventional Commit Messages it will be easy to determine what types of changes were made, allowing you to ensure the correct version tag is being published.
  5. Now ensure the version tag selected is semantically accurate based on the changes included.
  6. Click "Publish Release".
    • This will push a new tag and trigger your publishing pipeline on CircleCI.