-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
72 lines (70 loc) · 3.83 KB
/
Copy pathaction.yml
File metadata and controls
72 lines (70 loc) · 3.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: 'Setup Node.js environment'
description: 'Setup a Node.js environment by adding problem matchers and optionally downloading and adding it to the PATH.'
author: 'GitHub'
inputs:
node-version:
description: 'Version Spec of the version to use. Examples: 12.x, 10.15.1, >=10.15.0.'
node-version-file:
description: 'File containing the version Spec of the version to use. Examples: package.json, .nvmrc, .node-version, .tool-versions.'
architecture:
description: 'Target architecture for Node to use. Examples: x86, x64. Will use system architecture by default.'
check-latest:
description: 'Set this option if you want the action to check for the latest available version that satisfies the version spec.'
default: false
scope:
description: 'Optional scope for authenticating against scoped registries. Will fall back to the repository owner when using the GitHub Packages registry (https://npm.pkg.github.com/).'
token:
description: Used to pull node distributions from node-versions. Since there's a default, this is typically not supplied by the user. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting.
default: ${{ github.server_url == 'https://github.com' && github.token || '' }}
cache:
description: 'Used to specify a package manager for caching in the default directory. Supported values: npm, yarn, pnpm.'
package-manager-cache:
description: 'Set to false to disable automatic caching. By default, caching is enabled when either devEngines.packageManager or the top-level packageManager field in package.json specifies npm as the package manager.'
default: true
cache-dependency-path:
description: 'Used to specify the path to a dependency file: package-lock.json, yarn.lock, etc. Supports wildcards or a list of file names for caching multiple dependencies.'
mirror:
description: 'Used to specify an alternative mirror to downlooad Node.js binaries from'
mirror-token:
description: 'The token used as Authorization header when fetching from the mirror'
d2l-registry-token:
description: 'The auth token for package-registry.brightspace.com. Should be set to secrets.D2L_PACKAGE_REGISTRY_AUTH_TOKEN.'
required: true
# TODO: add input to control forcing to pull from cloud or dist.
# escape valve for someone having issues or needing the absolute latest which isn't cached yet
outputs:
cache-hit:
description: 'A boolean value to indicate if a cache was hit.'
value: ${{ steps.setup_node.outputs.cache-hit }}
node-version:
description: 'The installed node version.'
value: ${{ steps.setup_node.outputs.node-version }}
runs:
using: composite
steps:
- name: Validate d2l-registry-token input
shell: bash
env:
NODE_AUTH_TOKEN: ${{ inputs.d2l-registry-token }}
run: |
if [[ -z "$NODE_AUTH_TOKEN" ]]; then
echo "::error::The d2l-registry-token input is required and must be set to secrets.D2L_PACKAGE_REGISTRY_AUTH_TOKEN."
exit 1
fi
- id: setup_node
uses: Brightspace/third-party-actions@actions/setup-node
with:
node-version: ${{ inputs.node-version }}
node-version-file: ${{ inputs.node-version-file }}
architecture: ${{ inputs.architecture }}
check-latest: ${{ inputs.check-latest }}
registry-url: https://npm.package-registry.brightspace.com
scope: ${{ inputs.scope }}
token: ${{ inputs.token }}
cache: ${{ inputs.cache }}
package-manager-cache: ${{ inputs.package-manager-cache }}
cache-dependency-path: ${{ inputs.cache-dependency-path }}
mirror: ${{ inputs.mirror }}
mirror-token: ${{ inputs.mirror-token }}
env:
NODE_AUTH_TOKEN: ${{ inputs.d2l-registry-token }}