Code Monkey home page Code Monkey logo

circleci-orb-oss-ci-cd-tooling's Introduction

oss-ci-cd-tooling CircleCI Orb

This is the source for the apollo/oss-ci-cd-tooling CircleCI Orb. Orbs are reusable bits of CircleCI configuration (e.g. commands, executors and jobs), which can be composed into a more complete CircleCI configuration without the repetition often found in CircleCI configuration files.

This repository has a single oss-ci-cd-tooling Orb which contains several of the jobs which we re-use within Apollo GraphQL repositories, like Apollo Server and Apollo Tooling and Apollo Federation.

Examples

To see how Apollo Server uses these orbs, see its .circleci/config.yml.

Releasing

The circleci CLI tool is used to release. (If you use direnv, just run direnv allow to install the CLI locally in the repo.) As an example, to publish a new apollo/oss-ci-cd-tooling orb from its source in src/oss-ci-cd-tooling as version 0.0.2, one could run:

circleci orb publish src/oss-ci-cd-tooling/orb.yml apollo/[email protected]

Alternatively, there's a npm version <bumpish> type command. For example, to publish and bump by a patch:

circleci orb publish increment src/oss-ci-cd-tooling/orb.yml apollo/oss-ci-cd-tooling patch

"Prerelease" versions like 1.2.3-beta.1 are not supported, but you can use a version of the form dev:any-string for testing; these special dev releases only last 90 days.

For more information, see CircleCI's documentation.

circleci-orb-oss-ci-cd-tooling's People

Contributors

abernix avatar glasser avatar svc-secops avatar trevor-scheer avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

circleci-orb-oss-ci-cd-tooling's Issues

Using `lerna publish --exact` would be better for prereleases

npm semver has the surprising property that ^1.2.3-alpha.0 matches 1.2.3-beta.0 (because alpha < beta). This means that if you publish some prereleases with one preid, and then later publish some prereleases with a smaller preid (on the same X.Y.Z), the new ones might try to pull in the old ones!

Running lerna publish --exact solves this problem and makes sure that every publish uses only the packages published at the same time. Can we figure out how to do this this reasonably? Maybe when DIST_TAG is not latest?

(Alternatively, maybe we should just always set --exact? It would be nice for doing user support to know that when somebody says "I'm using apollo-server-express 1.2.3" that really means apollo-server-core 1.2.3 too! For Apollo Server, the challenge is that this would be good for the apollo-server-X -> apollo-server-core link, but not so much for separately versioned packages like the caching and data source packages.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.