0.0.0-1c777fe • Published 7 years ago

@primer/publish v0.0.0-1c777fe

Weekly downloads
2
License
MIT
Repository
-
Last release
7 years ago

primer/publish

This GitHub Action publishes to npm with the following conventions:

  1. If we're on the master branch, the version field is used as-is and we just run npm publish --access public.
    • After publishing a new version on the master branch, we tag the commit SHA with v{version} via the GitHub API.
    • If the version in package.json is already published, we exit with a 78 code, which is Actions-speak for "neutral".
  2. If we're on a release-<version> branch, we publish a release candidate to the next npm dist-tag with the version in the form: <version>-rc.<sha>.
    • A status check is created with the context npm version noting whether the version field in package.json matches the <version> portion of the branch. If it doesn't, the check's status is marked as pending.
  3. Otherwise, we publish a "canary" release, which has a version in the form: 0.0.0-<sha>.

Status checks

Depending on the branch, a series of statuses will be created by this action in your checks: publish is the action's check, and publish {package-name} is a commit status created by the action that reports the version published and links to unpkg.com via "Details":

image

If you're on a release branch (release-<version>) and the <version> portion of the branch name doesn't match the version field in package.json, you'll get a pending status reminding you to update it:

image

Usage

To use this action in your own workflow, add the following snippet to your .github/main.workflow file:

action "publish" {
  uses = "primer/publish@master"
  secrets = [
    "GITHUB_TOKEN",
    "NPM_AUTH_TOKEN",
  ]
}

You will need to provide an npm access token with publish permissions via the NPM_AUTH_TOKEN secret in the Actions visual editor if you haven't already. The GITHUB_TOKEN secret is also required to create tags after releasing on the master branch.

We suggest that you place this action after any linting and/or testing actions to catch as many errors as possible before publishing.

Options

--dry-run

Default: false

Does everything publish would do except actually publishing to the registry. Reports the details of what would have been published.

Example

action "publish" {
  uses = "primer/publish@master"
  secrets = ["GITHUB_TOKEN", "NPM_AUTH_TOKEN"]
  args = "--dry-run"
}

--dir=<path>

Default: .

Accepts a path to the directory that contains the package.json to publish.

Example

action "publish" {
  uses = "primer/publish@master"
  secrets = ["GITHUB_TOKEN", "NPM_AUTH_TOKEN"]
  args = "--dir=packages/example"
}

npm CLI arguments

It's possible to pass additional arguments to npm via the args field in your workflow action. Because the primer-publish CLI accepts options of its own (such as --dry-run), you need to prefix any npm arguments with --:

action "publish" {
  uses = "primer/publish@master"
+  args = ["--", "--registry=https://registry.your.org"]
3.0.0

6 years ago

0.0.0-bd05ca2

6 years ago

0.0.0-04e7b0e

6 years ago

0.0.0-58c8426

6 years ago

2.0.0

7 years ago

0.0.0-b24b926

7 years ago

0.0.0-c2a4747

7 years ago

0.0.0-c047b7c

7 years ago

0.0.0-f8ef010

7 years ago

0.0.0-dd3de09

7 years ago

0.0.0-9813c78

7 years ago

0.0.0-e22c457

7 years ago

0.0.0-1c777fe

7 years ago

0.0.0-d344316

7 years ago

0.0.0-7401859

7 years ago

0.0.0-c47e406

7 years ago

0.0.0-0edda87

7 years ago

0.0.0-4bfb3dc

7 years ago

0.0.0-9d922d6

7 years ago

0.0.0-1546dea

7 years ago

0.0.0-6015abd

7 years ago

0.0.0-2569a6e

7 years ago

0.0.0-6d6071d

7 years ago

0.0.0-f0be813

7 years ago

0.0.0-bff7454

7 years ago

0.0.0-3695044

7 years ago

1.0.0

7 years ago

1.0.0-rc.2f5843b

7 years ago

1.0.0-rc.2825d0b

7 years ago

1.0.0-rc.e86dfc8

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.3-rc.aaa0b7f

7 years ago

0.2.3-rc.e6c711e

7 years ago

0.2.3-rc.453a87d

7 years ago

0.2.2

7 years ago

0.2.2-rc.b896cf0

7 years ago

0.2.2-rc.f656ad2

7 years ago

0.2.1-rc.f656ad2

7 years ago

0.2.1

7 years ago

0.2.1-rc.b89ef63

7 years ago

0.2.1-rc.ec129d3

7 years ago

0.2.1-rc.0af9799

7 years ago

0.2.1-rc.bbfef25

7 years ago

0.2.0

7 years ago

0.2.0-rc.a2e5c56

7 years ago

0.2.0-rc.a5bcf46

7 years ago

0.1.0

7 years ago

0.1.0-rc.adaad3f

7 years ago

0.1.0-rc.54c1cde

7 years ago

0.1.0-rc.8435e6f

7 years ago

0.1.0-rc.2ac37b5

7 years ago

0.1.0-rc.64ad2bd

7 years ago

0.1.0-rc.a63e04e

7 years ago