Semantic Release

Once you have added your Project to CFA and set up a Requester and a Responder for that project you can go ahead and configure Semantic Release to use CFA.

Step 1: Configure your CI environment

In order for CFA to run and authenticate correctly you must configure the following environment variables on your CI provider.

Environment Variable

Value

CFA_SECRET

The "Project Secret" found on your Project configuration page

CFA_PROJECT_ID

The "Project ID" found on your Project configuration page

These variables are automatically configured by the CircleCIand GitHub Actionsrequesters.

Step 2: Configure Semantic Release

You should configure Semantic Release following the default instructions. Then once it's completely set up you should add @continuous-auth/semantic-release-npm as a dev-dependency to your project. You do not need to configure a GITHUB_TOKENas that will be provided automatically by CFA.

yarn add @continuous-auth/semantic-release-npm --dev

Then add the following file to the root of your project

.releaserc.json
{
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    "@continuous-auth/semantic-release-npm",
    "@semantic-release/github"
  ]
}

This is identical to the default configuration but with the default npm plugin swapped out for the CFA one.

Step 3: Try trigger a release

Everything should be completely set up now, try pushing a semantic commit to master and see if it releases your module.

Step 4 (Optional): Use GitHub Action

CFA provides a convenient, secure GitHub Action you can use to easily set up Semantic Release. You can check it out here.

Last updated