This commit is contained in:
Borales 2022-11-26 23:13:48 +01:00
parent d2ca561aa5
commit 0790298b9b
No known key found for this signature in database
5 changed files with 19 additions and 53 deletions

View File

@ -4,9 +4,6 @@
This Action for [yarn](https://yarnpkg.com) enables arbitrary actions with the `yarn` command-line client, including testing packages and publishing to a registry.
> **Please keep in mind** that this Action was originally written for GitHub Actions beta (when Docker was the only way of doing things).
Consider using [actions/setup-node](https://github.com/actions/setup-node) to work with Yarn. This repository will be mostly supporting the existing flows.
## Usage
An example workflow how to install packages via Yarn (using repository syntax):
@ -19,36 +16,29 @@ jobs:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: borales/actions-yarn@v3.0.0
- uses: actions/checkout@v3
- name: Set Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Run install
uses: borales/actions-yarn@v4
with:
cmd: install # will run `yarn install` command
- uses: borales/actions-yarn@v3.0.0
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # if needed
- name: Build production bundle
uses: borales/actions-yarn@v4
with:
cmd: build # will run `yarn build` command
- uses: borales/actions-yarn@v3.0.0
cmd: build:prod # will run `yarn build:prod` command
- name: Test the app
uses: borales/actions-yarn@v4
with:
cmd: test # will run `yarn test` command
```
> `cmd` value will be used as a command for Yarn
### Secrets
* `NPM_AUTH_TOKEN` - **Optional**. The token to use for authentication with the npm registry. Required for `yarn 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`:
```yml
- uses: borales/actions-yarn@v3.0.0
with:
auth-token: ${{ secrets.NPM_TOKEN }}
registry-url: someOtherRegistry.someDomain.net
```
More information about [private registry setup](https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#use-private-packages).

1
dist/index.js vendored
View File

@ -26,7 +26,6 @@ const main = () => __awaiter(void 0, void 0, void 0, function* () {
try {
(0, core_1.debug)(`Running "${cmd}" command`);
yield (0, run_1.run)(cmd, { cwd });
(0, core_1.setOutput)(cmd, 'Done');
}
catch (error) {
if (error instanceof Error)

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -1,22 +0,0 @@
#!/bin/sh
set -e
if [ -n "$NPM_AUTH_TOKEN" ]; then
# Respect NPM_CONFIG_USERCONFIG if it is provided, default to $HOME/.npmrc
NPM_CONFIG_USERCONFIG="${NPM_CONFIG_USERCONFIG:-"$HOME/.npmrc"}"
NPM_REGISTRY_URL="${NPM_REGISTRY_URL:-registry.npmjs.org}"
NPM_STRICT_SSL="${NPM_STRICT_SSL:-true}"
NPM_REGISTRY_SCHEME="https"
if ! $NPM_STRICT_SSL
then
NPM_REGISTRY_SCHEME="http"
fi
# Allow registry.npmjs.org to be overridden with an environment variable
printf "//%s/:_authToken=%s\\nregistry=%s\\nstrict-ssl=%s" "$NPM_REGISTRY_URL" "$NPM_AUTH_TOKEN" "${NPM_REGISTRY_SCHEME}://$NPM_REGISTRY_URL" "${NPM_STRICT_SSL}" > "$NPM_CONFIG_USERCONFIG"
chmod 0600 "$NPM_CONFIG_USERCONFIG"
fi
sh -c "yarn $*"

View File

@ -1,4 +1,4 @@
import {debug, getInput, setOutput, setFailed, getState} from '@actions/core'
import {debug, getInput, setFailed, getState} from '@actions/core'
import {ensureYarnIsInstalled} from './yarn'
import {run} from './run'
@ -12,7 +12,6 @@ const main = async () => {
debug(`Running "${cmd}" command`)
await run(cmd, {cwd})
setOutput(cmd, 'Done')
} catch (error) {
if (error instanceof Error) setFailed(error.message)
}