| 
									
										
										
										
											2019-08-03 21:49:54 -04:00
										 |  |  | # setup-node
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-12 15:10:38 -04:00
										 |  |  | <p align="left"> | 
					
						
							|  |  |  |   <a href="https://github.com/actions/setup-node"><img alt="GitHub Actions status" src="https://github.com/actions/setup-node/workflows/Main%20workflow/badge.svg"></a> | 
					
						
							|  |  |  | </p> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-03 21:49:54 -04:00
										 |  |  | This action sets by node environment for use in actions by: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - optionally downloading and caching a version of node - npm by version spec and add to PATH | 
					
						
							|  |  |  | - registering problem matchers for error output  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Usage
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See [action.yml](action.yml) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Basic: | 
					
						
							|  |  |  | ```yaml | 
					
						
							|  |  |  | steps: | 
					
						
							| 
									
										
										
										
											2019-10-11 10:27:02 -04:00
										 |  |  | - uses: actions/checkout@v1 | 
					
						
							| 
									
										
										
										
											2019-08-03 21:49:54 -04:00
										 |  |  | - uses: actions/setup-node@v1 | 
					
						
							|  |  |  |   with: | 
					
						
							| 
									
										
										
										
											2019-08-13 16:32:09 -04:00
										 |  |  |     node-version: '10.x' | 
					
						
							| 
									
										
										
										
											2019-08-03 21:49:54 -04:00
										 |  |  | - run: npm install | 
					
						
							|  |  |  | - run: npm test | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Matrix Testing: | 
					
						
							|  |  |  | ```yaml | 
					
						
							|  |  |  | jobs: | 
					
						
							|  |  |  |   build: | 
					
						
							|  |  |  |     runs-on: ubuntu-16.04 | 
					
						
							|  |  |  |     strategy: | 
					
						
							|  |  |  |       matrix: | 
					
						
							|  |  |  |         node: [ '10', '8' ] | 
					
						
							|  |  |  |     name: Node ${{ matrix.node }} sample | 
					
						
							|  |  |  |     steps: | 
					
						
							| 
									
										
										
										
											2019-09-12 15:54:53 -04:00
										 |  |  |       - uses: actions/checkout@v1 | 
					
						
							| 
									
										
										
										
											2019-08-03 21:49:54 -04:00
										 |  |  |       - name: Setup node | 
					
						
							|  |  |  |         uses: actions/setup-node@v1 | 
					
						
							|  |  |  |         with: | 
					
						
							| 
									
										
										
										
											2019-08-13 16:32:09 -04:00
										 |  |  |           node-version: ${{ matrix.node }} | 
					
						
							| 
									
										
										
										
											2019-08-03 21:49:54 -04:00
										 |  |  |       - run: npm install | 
					
						
							|  |  |  |       - run: npm test | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-06 18:26:04 -04:00
										 |  |  | Publish to npmjs and GPR with npm: | 
					
						
							|  |  |  | ```yaml | 
					
						
							|  |  |  | steps: | 
					
						
							| 
									
										
										
										
											2019-09-12 15:54:53 -04:00
										 |  |  | - uses: actions/checkout@v1 | 
					
						
							| 
									
										
										
										
											2019-08-06 18:26:04 -04:00
										 |  |  | - uses: actions/setup-node@v1 | 
					
						
							|  |  |  |   with: | 
					
						
							| 
									
										
										
										
											2019-08-13 16:32:09 -04:00
										 |  |  |     node-version: '10.x' | 
					
						
							| 
									
										
										
										
											2019-08-06 18:26:04 -04:00
										 |  |  |     registry-url: 'https://registry.npmjs.org' | 
					
						
							|  |  |  | - run: npm install | 
					
						
							|  |  |  | - run: npm publish | 
					
						
							|  |  |  |   env: | 
					
						
							|  |  |  |     NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | 
					
						
							|  |  |  | - uses: actions/setup-node@v1 | 
					
						
							|  |  |  |   with: | 
					
						
							|  |  |  |     registry-url: 'https://npm.pkg.github.com' | 
					
						
							|  |  |  | - run: npm publish | 
					
						
							|  |  |  |   env: | 
					
						
							|  |  |  |     NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Publish to npmjs and GPR with yarn: | 
					
						
							|  |  |  | ```yaml | 
					
						
							|  |  |  | steps: | 
					
						
							| 
									
										
										
										
											2019-09-12 15:54:53 -04:00
										 |  |  | - uses: actions/checkout@v1 | 
					
						
							| 
									
										
										
										
											2019-08-06 18:26:04 -04:00
										 |  |  | - uses: actions/setup-node@v1 | 
					
						
							|  |  |  |   with: | 
					
						
							| 
									
										
										
										
											2019-08-13 16:32:09 -04:00
										 |  |  |     node-version: '10.x' | 
					
						
							| 
									
										
										
										
											2019-08-06 18:26:04 -04:00
										 |  |  |     registry-url: <registry url> | 
					
						
							|  |  |  | - run: yarn install | 
					
						
							|  |  |  | - run: yarn publish | 
					
						
							|  |  |  |   env: | 
					
						
							|  |  |  |     NODE_AUTH_TOKEN: ${{ secrets.YARN_TOKEN }} | 
					
						
							|  |  |  | - uses: actions/setup-node@v1 | 
					
						
							|  |  |  |   with: | 
					
						
							|  |  |  |     registry-url: 'https://npm.pkg.github.com' | 
					
						
							|  |  |  | - run: yarn publish | 
					
						
							|  |  |  |   env: | 
					
						
							|  |  |  |     NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-10 13:32:30 -04:00
										 |  |  | Use private packages: | 
					
						
							|  |  |  | ```yaml | 
					
						
							|  |  |  | steps: | 
					
						
							| 
									
										
										
										
											2019-09-12 15:54:53 -04:00
										 |  |  | - uses: actions/checkout@v1 | 
					
						
							| 
									
										
										
										
											2019-09-10 13:32:30 -04:00
										 |  |  | - uses: actions/setup-node@v1 | 
					
						
							|  |  |  |   with: | 
					
						
							|  |  |  |     node-version: '10.x' | 
					
						
							|  |  |  |     registry-url: 'https://registry.npmjs.org' | 
					
						
							|  |  |  | # Skip post-install scripts here, as a malicious
 | 
					
						
							|  |  |  | # script could steal NODE_AUTH_TOKEN.
 | 
					
						
							|  |  |  | - run: npm install --ignore-scripts | 
					
						
							|  |  |  |   env: | 
					
						
							| 
									
										
										
										
											2019-09-10 15:39:39 -04:00
										 |  |  |     NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | 
					
						
							| 
									
										
										
										
											2019-09-27 07:31:22 -05:00
										 |  |  | # `npm rebuild` will run all those post-install scripts for us.
 | 
					
						
							| 
									
										
										
										
											2019-09-10 13:32:30 -04:00
										 |  |  | - run: npm rebuild && npm run prepare --if-present | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-03 21:49:54 -04:00
										 |  |  | # License
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The scripts and documentation in this project are released under the [MIT License](LICENSE) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Contributions
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Contributions are welcome!  See [Contributor's Guide](docs/contributors.md) |