2019-07-17 22:45:43 +08:00
|
|
|
# setup-dotnet
|
2019-06-20 04:22:22 +08:00
|
|
|
|
2019-08-13 03:11:11 +08:00
|
|
|
<p align="left">
|
|
|
|
<a href="https://github.com/actions/setup-dotnet"><img alt="GitHub Actions status" src="https://github.com/actions/setup-dotnet/workflows/Main%20workflow/badge.svg"></a>
|
|
|
|
</p>
|
|
|
|
|
2019-10-21 22:51:03 +08:00
|
|
|
This action sets up a [dotnet core cli](https://github.com/dotnet/cli) environment for use in actions by:
|
2019-06-20 04:22:22 +08:00
|
|
|
|
2019-08-02 04:40:13 +08:00
|
|
|
- optionally downloading and caching a version of dotnet by SDK version and adding to PATH
|
2019-07-17 22:45:43 +08:00
|
|
|
- registering problem matchers for error output
|
2019-12-14 04:52:24 +08:00
|
|
|
- setting up authentication to private package sources like GitHub Packages
|
2019-07-17 22:45:43 +08:00
|
|
|
|
|
|
|
# Usage
|
|
|
|
|
|
|
|
See [action.yml](action.yml)
|
|
|
|
|
|
|
|
Basic:
|
|
|
|
```yaml
|
2019-07-26 09:27:45 +08:00
|
|
|
steps:
|
2019-07-24 03:45:43 +08:00
|
|
|
- uses: actions/checkout@master
|
2019-08-01 21:26:34 +08:00
|
|
|
- uses: actions/setup-dotnet@v1
|
2019-07-17 22:45:43 +08:00
|
|
|
with:
|
2020-04-05 01:47:16 +08:00
|
|
|
dotnet-version: '3.1.x' # SDK Version to use; x will use the latest version of the 3.1 channel
|
2019-07-17 22:45:43 +08:00
|
|
|
- run: dotnet build <my project>
|
|
|
|
```
|
|
|
|
|
|
|
|
Matrix Testing:
|
|
|
|
```yaml
|
|
|
|
jobs:
|
|
|
|
build:
|
2019-08-01 23:05:47 +08:00
|
|
|
runs-on: ubuntu-16.04
|
2019-07-17 22:45:43 +08:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2020-04-10 01:29:16 +08:00
|
|
|
dotnet: [ '2.2.103', '3.0', '3.1.x' ]
|
2019-07-17 22:45:43 +08:00
|
|
|
name: Dotnet ${{ matrix.dotnet }} sample
|
2019-07-26 09:27:45 +08:00
|
|
|
steps:
|
2019-07-24 03:45:43 +08:00
|
|
|
- uses: actions/checkout@master
|
2019-07-17 22:45:43 +08:00
|
|
|
- name: Setup dotnet
|
2019-08-01 21:26:34 +08:00
|
|
|
uses: actions/setup-dotnet@v1
|
2019-07-17 22:45:43 +08:00
|
|
|
with:
|
2019-08-14 04:05:52 +08:00
|
|
|
dotnet-version: ${{ matrix.dotnet }}
|
2019-07-17 22:45:43 +08:00
|
|
|
- run: dotnet build <my project>
|
|
|
|
```
|
2019-06-20 04:22:22 +08:00
|
|
|
|
2019-11-26 07:16:52 +08:00
|
|
|
Authentication for nuget feeds:
|
2019-09-10 01:27:23 +08:00
|
|
|
```yaml
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@master
|
2019-11-26 07:16:52 +08:00
|
|
|
# Authenticates packages to push to GPR
|
2019-09-10 01:27:23 +08:00
|
|
|
- uses: actions/setup-dotnet@v1
|
|
|
|
with:
|
2020-04-05 01:47:16 +08:00
|
|
|
dotnet-version: '3.1.x' # SDK Version to use.
|
2019-11-26 07:16:52 +08:00
|
|
|
source-url: https://nuget.pkg.github.com/<owner>/index.json
|
2019-09-10 01:27:23 +08:00
|
|
|
env:
|
|
|
|
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
|
|
- run: dotnet build <my project>
|
|
|
|
- name: Create the package
|
|
|
|
run: dotnet pack --configuration Release <my project>
|
2019-11-26 07:16:52 +08:00
|
|
|
- name: Publish the package to GPR
|
2019-09-10 01:27:23 +08:00
|
|
|
run: dotnet nuget push <my project>/bin/Release/*.nupkg
|
|
|
|
|
2019-11-26 07:16:52 +08:00
|
|
|
# Authticates packages to push to Azure Artifacts
|
2019-10-04 09:00:43 +08:00
|
|
|
- uses: actions/setup-dotnet@v1
|
|
|
|
with:
|
|
|
|
source-url: https://pkgs.dev.azure.com/<your-organization>/_packaging/<your-feed-name>/nuget/v3/index.json
|
|
|
|
env:
|
|
|
|
NUGET_AUTH_TOKEN: ${{secrets.AZURE_DEVOPS_PAT}} # Note, create a secret with this name in Settings
|
2019-11-26 07:16:52 +08:00
|
|
|
- name: Publish the package to Azure Artifacts
|
2019-10-04 09:00:43 +08:00
|
|
|
run: dotnet nuget push <my project>/bin/Release/*.nupkg
|
|
|
|
```
|
|
|
|
|
2019-06-20 04:22:22 +08: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)
|