2019-12-20 10:12:04 -05:00
2019-12-18 08:26:43 -08:00
2019-06-19 16:22:22 -04:00
2019-12-18 08:17:54 -08:00
2019-11-25 15:16:52 -08:00
2019-12-13 09:19:15 -05:00
2019-11-25 15:16:52 -08:00
2019-06-19 16:22:22 -04:00
2019-12-13 12:50:05 -08:00
2019-06-19 16:22:22 -04:00
2019-06-19 16:22:22 -04:00
2019-12-16 07:45:15 -08:00
2019-10-03 16:35:25 -07:00

setup-dotnet

GitHub Actions status

This action sets up a dotnet core cli 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
  • setting up authentication to private package sources like GitHub Packages

Usage

See action.yml

Basic:

steps:
- uses: actions/checkout@master
- uses: actions/setup-dotnet@v1
  with:
    dotnet-version: '3.1.100' # SDK Version to use.
- run: dotnet build <my project>

Matrix Testing:

jobs:
  build:
    runs-on: ubuntu-16.04
    strategy:
      matrix:
        dotnet: [ '2.2.103', '3.0.100', '3.1.100' ]
    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>

Authentication for nuget feeds:

steps:
- uses: actions/checkout@master
# Authenticates packages to push to GPR
- uses: actions/setup-dotnet@v1
  with:
    dotnet-version: '3.1.100' # SDK Version to use.
    source-url: https://nuget.pkg.github.com/<owner>/index.json
  env:
    NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- run: dotnet build <my project>
- name: Create the package
  run: dotnet pack --configuration Release <my project>
 - name: Publish the package to GPR
  run: dotnet nuget push <my project>/bin/Release/*.nupkg

# Authticates packages to push to Azure Artifacts
- 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
- name: Publish the package to Azure Artifacts
  run: dotnet nuget push <my project>/bin/Release/*.nupkg

Publishing a standalone copy for Release execution (include all dependencies):

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):

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 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

Contributions

Contributions are welcome! See Contributor's Guide

Description
Set up your GitHub Actions workflow with a specific version of the .NET core sdk
Readme MIT 33 MiB
Languages
TypeScript 93.7%
PowerShell 5.2%
C# 0.5%
Shell 0.3%
JavaScript 0.3%