forked from btmills/npm
-
-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Steve Winton <stevewinton@gmail.com> Co-authored-by: Nick Van Wiggeren <nickvanw@github.com> Co-authored-by: Steve Winton <swinton@users.noreply.github.com> Co-authored-by: Max Schoening <max@max.wtf> Co-authored-by: Nick Van Wiggeren <nickvanw@users.noreply.github.com> Co-authored-by: Brandon Keepers <bkeepers@github.com> Co-authored-by: Greg Orzell <gorzell@users.noreply.github.com> Co-authored-by: Greg Orzell <gorzell@github.com>
- Loading branch information
Showing
12 changed files
with
1,555 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# ignore all files by default | ||
* | ||
# include required files with an exception | ||
!entrypoint.sh | ||
!LICENSE | ||
!README.md | ||
!THIRD_PARTY_NOTICE.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
workflow "Build and Publish" { | ||
on = "push" | ||
resolves = "Docker Publish" | ||
} | ||
|
||
action "Shell Lint" { | ||
uses = "actions/bin/shellcheck@master" | ||
args = "entrypoint.sh" | ||
} | ||
|
||
action "Test" { | ||
uses = "actions/bin/bats@master" | ||
args = "test/*.bats" | ||
} | ||
|
||
action "Docker Lint" { | ||
uses = "docker://replicated/dockerfilelint" | ||
args = ["Dockerfile"] | ||
} | ||
|
||
action "Build" { | ||
needs = ["Shell Lint", "Test", "Docker Lint"] | ||
uses = "actions/docker/cli@master" | ||
args = "build -t npm ." | ||
} | ||
|
||
action "Docker Tag" { | ||
needs = ["Build"] | ||
uses = "actions/docker/tag@master" | ||
args = "npm github/npm --no-latest" | ||
} | ||
|
||
action "Publish Filter" { | ||
needs = ["Build"] | ||
uses = "actions/bin/filter@master" | ||
args = "branch master" | ||
} | ||
|
||
action "Docker Login" { | ||
needs = ["Publish Filter"] | ||
uses = "actions/docker/login@master" | ||
secrets = ["DOCKER_USERNAME", "DOCKER_PASSWORD"] | ||
} | ||
|
||
action "Docker Publish" { | ||
needs = ["Docker Tag", "Docker Login"] | ||
uses = "actions/docker/cli@master" | ||
args = "push github/npm" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
brew "bats" | ||
brew "shellcheck" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
FROM node:10-slim | ||
|
||
LABEL version="1.0.0" | ||
LABEL repository="http://github.com/actions/npm" | ||
LABEL homepage="http://github.com/actions/npm" | ||
LABEL maintainer="GitHub Actions <support+actions@github.com>" | ||
|
||
LABEL com.github.actions.name="GitHub Action for npm" | ||
LABEL com.github.actions.description="Wraps the npm CLI to enable common npm commands." | ||
LABEL com.github.actions.icon="package" | ||
LABEL com.github.actions.color="red" | ||
COPY LICENSE README.md THIRD_PARTY_NOTICE.md / | ||
|
||
COPY "entrypoint.sh" "/entrypoint.sh" | ||
ENTRYPOINT ["/entrypoint.sh"] | ||
CMD ["help"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
|
||
The MIT License (MIT) | ||
|
||
Copyright (c) 2018 GitHub, Inc. and contributors | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in | ||
all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# GitHub Actions for NPM | ||
|
||
This Action for [npm](https://www.npmjs.com/) enables arbitrary actions with the `npm` command-line client, including testing packages and publishing to a registry. | ||
|
||
## Usage | ||
|
||
An example workflow to build, test, and publish an npm package to the default public registry follows: | ||
|
||
```hcl | ||
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" | ||
} | ||
action "Publish" { | ||
needs = "Test" | ||
uses = "actions/npm@master" | ||
args = "publish --access public" | ||
secrets = ["NPM_AUTH_TOKEN"] | ||
} | ||
``` | ||
|
||
### Secrets | ||
|
||
* `NPM_AUTH_TOKEN` - **Optional**. The token to use for authentication with the npm registry. Required for `npm publish` ([more info](https://docs.npmjs.com/getting-started/working_with_tokens)) | ||
|
||
### Environment variables | ||
|
||
* `NPM_REGISTRY_URL` - **Optional**. To specify a registry to authenticate with. Defaults to `registry.npmjs.org` | ||
* `NPM_CONFIG_USERCONFIG` - **Optional**. To specify a non-default per-user configuration file. Defaults to `$HOME/.npmrc` ([more info](https://docs.npmjs.com/misc/config#npmrc-files)) | ||
|
||
#### Example | ||
|
||
To authenticate with, and publish to, a registry other than `registry.npmjs.org`: | ||
|
||
```hcl | ||
action "Publish" { | ||
uses = "actions/npm@master" | ||
args = "publish --access public" | ||
env = { | ||
NPM_REGISTRY_URL = "someOtherRegistry.someDomain.net" | ||
} | ||
secrets = ["NPM_TOKEN"] | ||
} | ||
``` | ||
|
||
## License | ||
|
||
The Dockerfile and associated scripts and documentation in this project are released under the [MIT License](LICENSE). | ||
|
||
Container images built with this project include third party materials. See [THIRD_PARTY_NOTICE.md](THIRD_PARTY_NOTICE.md) for details. |
Oops, something went wrong.