mirror of
https://github.com/actions/setup-dotnet.git
synced 2025-08-19 23:25:07 +00:00
85 lines
2.3 KiB
Markdown
85 lines
2.3 KiB
Markdown
# setup-dotnet
|
|
|
|
<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>
|
|
|
|
This action sets up a dotnet environment for use in actions by:
|
|
|
|
- optionally downloading and caching a version of dotnet by SDK version and adding to PATH
|
|
- registering problem matchers for error output
|
|
|
|
# Usage
|
|
|
|
See [action.yml](action.yml)
|
|
|
|
## Basic:
|
|
```yaml
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions/setup-dotnet@v1
|
|
with:
|
|
dotnet-version: '2.2.103' # SDK Version to use.
|
|
- run: dotnet build <my project>
|
|
```
|
|
|
|
## Matrix Testing:
|
|
```yaml
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-16.04
|
|
strategy:
|
|
matrix:
|
|
dotnet: [ '2.2.103', '3.0.100-preview8-013656', '4.5.1' ]
|
|
name: Dotnet ${{ matrix.dotnet }} sample
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: Setup dotnet
|
|
uses: actions/setup-dotnet@v1
|
|
with:
|
|
dotnet-version: ${{ matrix.dotnet }}
|
|
- run: dotnet build <my project>
|
|
```
|
|
|
|
## Publishing a standalone copy for Release execution (include all dependencies):
|
|
```yaml
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- uses: actions/setup-dotnet@v1
|
|
- name: Restore NuGet Packages
|
|
run: dotnet restore
|
|
- name: Build + Publish with dotnet
|
|
run: dotnet publish --configuration Release
|
|
```
|
|
|
|
## Publishing a standalone copy for Release execution (include all dependencies with specified NuGet sources):
|
|
```yaml
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- uses: actions/setup-dotnet@v1
|
|
- name: Restore NuGet Packages from nuget.config
|
|
run: dotnet restore --configfile nuget.config
|
|
- name: Build + Publish with dotnet
|
|
run: dotnet publish --configuration Release
|
|
```
|
|
### Your nuget.config may look like so, just add your sources under the default source
|
|
```xml
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<configuration>
|
|
<packageSources>
|
|
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
|
|
<clear />
|
|
<add key="nuget" value="https://api.nuget.org/v3/index.json" />
|
|
<add key="MySourceName" value="http://MySourceName/api/v3/index.json" />
|
|
</packageSources>
|
|
</configuration>
|
|
```
|
|
|
|
# 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)
|