Orb Development Kit Update! New Orb-Tools v11 Pipeline

Overview

The Orb Development Kit refers to a suite of tools that work together to ultimately allow you to run the circleci orb init command, and instrument a fully automated CI/CD pipeline for building orbs.

We are excited to announce the next iteration of the Orb Develop Kit, with the new Orb Tools v11 pipeline.

What’s new?

Orb Tools v11 Release Notes: Release v11.0.0 - Tag Based Deployment · CircleCI-Public/orb-tools-orb · GitHub
Orb Tools v11 ReadMe: GitHub - CircleCI-Public/orb-tools-orb: Various tools for authoring and publishing CircleCI orbs
CircleCI CLI Release Notes: https://github.com/CircleCI-Public/circleci-cli/releases/tag/v0.1.17087
Updated Docs: Introduction to Authoring Orbs - CircleCI

Notable Changes

  • Orbs created with the CircleCI CLI via the orb init command will now use the Orb Tools v11 pipeline
  • Removed the 30 day limit
    • Previously, the CircleCI configuration for building an orb was dependent on a development tag of the orb being present. However, development tags expire after 30 days which would cause the pipeline to fail if it had not been ran within the time period. The new pipeline uses Dynamic Configuration to split the pipeline across two config files, where the first of which does not need to require a development version of the orb, but can create one for the secondary pipeline.
  • Tag and Release based deployments
    • Previously, publishing an update to your orb happed automatically on each push to the default branch, and it was required that you enter a proprietary “key” in your commit message to inform the pipeline what type of update to perform.
    • Now, orbs are published based on tags which are generated when you create a Release on GitHub for example. This means you can combine multiple PRs worth of changes into a single release. The release process is now more standard with typical software release practices.
    • When creating a Release via GitHub, we now have the ability to capture Release Notes as a form of change-log.
  • Review System
    • The new “Review” job included in Orb Tools v11 can automatically detect opportunities to improve the quality and best practices of your orb code and return the results in JUnit, natively displayed in CircleCI’s UI.
    • Modeled after ShellCheck, the “Review” job has a number of “Review Checks”, each of which may be manually skipped by providing the “RC” code for that test to the “exclude” parameter of the review job.
  • PR Commenting
    • Revamped PR commenting. Simply include a GITHUB_TOKEN in your publishing context for a machine user, and on every push you will receive a comment in the associated PR with a link to a preview on the developer hub.

Example:

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/circleci/node?version=dev:bcf4fc779c1a3b976459ed17147f5ee96fef6210

How to update

To create new orbs

To create a new orb using the Orb Tools v11 pipeline, you need only to update your CircleCI CLI locally before running circleci orb init. View the newly updated Orb Authoring docs for detailed instructions.

circleci update.
# You must be using at least version v0.1.17087
circleci orb init /my/new/orb

To update existing orbs

If you have authored orbs in the past, and would like to migrate to the new Orb Tools v11 pipeline, you can read our migration guide, and run our migration script. Upgrading is easy!
Migration Guide

1 Like