This Action for npm enables arbitrary actions with the npm
command-line client, including testing packages and publishing to a registry.
An example workflow to build, test, and publish an npm package to the default public registry follows:
workflow "Build, Test, and Publish" {
on = "push"
resolves = ["Publish"]
}
action "Build" {
uses = "actions/npm@master"
args = "install"
}
action "Test" {
needs = "Build"
uses = "actions/npm@master"
args = "test"
}
# Filter for a new tag
action "Tag" {
needs = "Test"
uses = "actions/bin/filter@master"
args = "tag"
}
action "Publish" {
needs = "Tag"
uses = "actions/npm@master"
args = "publish --access public"
secrets = ["NPM_AUTH_TOKEN"]
}
NPM_AUTH_TOKEN
- Optional. The token to use for authentication with the npm registry. Required fornpm publish
(more info)
NPM_REGISTRY_URL
- Optional. To specify a registry to authenticate with. Defaults toregistry.npmjs.org
NPM_STRICT_SSL
- Optional. Specify false if your registry is insecure and uses thehttp
protocol. Defaults totrue
NPM_CONFIG_USERCONFIG
- Optional. To specify a non-default per-user configuration file. Defaults to$HOME/.npmrc
(more info)
To authenticate with, and publish to, a secure registry other than registry.npmjs.org
:
action "Publish" {
uses = "actions/npm@master"
args = "publish --access public"
env = {
NPM_REGISTRY_URL = "someOtherRegistry.someDomain.net"
}
secrets = ["NPM_AUTH_TOKEN"]
}
To authenticate with, and publish to, an insecure registry other than registry.npmjs.org
:
action "Publish" {
uses = "actions/npm@master"
args = "publish --access public"
env = {
NPM_REGISTRY_URL = "my.local.registry"
NPM_STRICT_SSL = "false"
}
secrets = ["NPM_AUTH_TOKEN"]
}