Skip to main content

.NET

Build actions for .NET projects using the .NET SDK.

Available Actions

ActionDescription
dotnet-setupInstall .NET SDK
dotnet-repository-loginConfigure NuGet sources
dotnet-buildBuild and test
dotnet-cut-tagBump version and create tag
dotnet-repository-publishPublish NuGet packages
dotnet-docker-publishBuild and push Docker image

Version File

.NET reads and writes versions in *.csproj:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version>1.2.3</Version>
</PropertyGroup>
</Project>

Example Usage

steps:
- uses: actions/checkout@v4

- uses: p6m-actions/dotnet-setup@v1

- uses: p6m-actions/dotnet-repository-login@v1
with:
source-url: https://${{ vars.ARTIFACTORY_HOSTNAME }}/artifactory/api/nuget/v3/nuget
username: ${{ secrets.ARTIFACTORY_USERNAME }}
password: ${{ secrets.ARTIFACTORY_IDENTITY_TOKEN }}

- uses: p6m-actions/dotnet-build@v1

- uses: p6m-actions/dotnet-docker-publish@v1
with:
image: ${{ vars.ARTIFACTORY_HOSTNAME }}/${{ vars.ARTIFACTORY_PROJECT }}-docker-local/applications/my-service
platforms: linux/amd64,linux/arm64

Dockerfile

note

Dockerfile patterns depend on your specific project structure. The dotnet-docker-publish action handles building and publishing the container image using your project's Dockerfile.

See Containerization for general patterns including:

  • Multi-stage builds vs copying pre-built artifacts
  • Non-root user configuration
  • Health check setup