setup-nuget-exe v1.0.6
Setup NuGet.exe
This action downloads and installs a given version of NuGet.exe. Using this
action will add nuget to your $PATH on all operating systems, including
macOS and linux, without having to prefix it with mono.
NuGet functionality also gets delivered with Visual Studio, msbuild and dotnet SDK. You should consider using the
official setup-dotnet or
one of the msbuild actions.
Usage
See action.yml
Supported values for nuget-version:
latest-- the latest blessed NuGet release.preview-- the latest EarlyAccessPreview release.X.Y.Z-- concrete semver version for a release (e.g.5.3.1).- semver range -- any valid semver range specifier (e.g.
5,>=5,5.3.x, etc)
This action also supports configuring your NuGet API key using
GitHub secrets.
The API key should be passed in as an nuget-api-key input. See
the GitHub documentation on secrets
for how to configure secrets on your repository.
Basic:
steps:
- uses: actions/checkout@master
- uses: nuget/setup-nuget@v1
with:
nuget-api-key: ${{ secrets.NuGetAPIKey }}
nuget-version: '5.x'
- run: nuget restore MyProject.slnMatrix Testing:
name: NuGet Restore
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macOS-latest]
nuget: [latest, preview, 4.x, 5.3.1]
name: NuGet@${{ matrix.nuget }} sample
steps:
- uses: actions/checkout@master
- name: Setup NuGet.exe
uses: nuget/setup-nuget@v1
with:
nuget-version: ${{ matrix.nuget }}
- run: nuget restore MyProject.slnCaching
The downloaded nuget.exe files are automatically cached between runs. To cache
your global nuget directory, consider using the official cache action.
Caching Example
Note: For this example, you'll need to enable repeatable builds for your project.
steps:
- uses: actions/checkout@master
- uses: nuget/setup-nuget@v1
with:
nuget-version: '5.x'
- uses: actions/cache@v1
id: cache
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
- name: NuGet Restore
if: steps.cache.outputs.cache-hit != 'true'
run: nuget restore MyProject.slnContributing
Code in Main
Install the dependencies
$ npm installBuild the typescript and package it for distribution
$ npm run build && npm run packageRun the tests :heavy_check_mark:
$ npm test
PASS ./index.test.js
✓ throws invalid number (3ms)
✓ wait 500 ms (504ms)
✓ test runs (95ms)
...Publish to a distribution branch
Actions are run from GitHub repos so we will checkin the packed dist folder.
Then run ncc and push the results:
$ npm run package
$ git add dist
$ git commit -a -m "prod dependencies"
$ git push origin releases/v1Note: We recommend using the --license option for ncc, which will create a license file for all of the production node modules used in your project.
Your action is now published! :rocket:
See the versioning documentation
License
The scripts and documentation in this project are released under the MIT License.
2 years ago