Skip to content

Add GitHub Action

Add GitHub Action #10

Workflow file for this run

name: .NET Core Desktop
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
jobs:
build:
runs-on: windows-latest
env:
Dotnet_Version: 8.0.x
Project_Path: Flow.Launcher.Localization\Flow.Launcher.Localization.csproj
steps:
# Checkout codes
- name: Checkout
uses: actions/checkout@v4
# Install the .NET Core workload
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.Dotnet_Version }}
# Restore dependencies
- name: Restore dependencies
run: dotnet restore ${{ env.Project_Path }}
# Build the project
- name: Build
run: dotnet build ${{ env.Project_Path }} --configuration Release --no-restore
# Execute all unit tests in the solution
- name: Execute unit tests
run: dotnet test --configuration Release --no-build
# Pack the NuGet package
- name: Create NuGet package
run: dotnet pack ${{ env.Project_Path }} --configuration Release --no-build --output nupkgs
# Upload the NuGet package
- name: Upload NuGet package
uses: actions/upload-artifact@v4
with:
name: Full nupkg
path: nupkgs/Flow.Launcher.Localization.*.nupkg
compression-level: 0
# Publish to NuGet.org
- name: Push to NuGet
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: nuget push nupkgs\*.nupkg -source 'https://api.nuget.org/v3/index.json' -apikey ${{ secrets.NUGET_API_KEY }}
# Get package version
- name: Get Package Version
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
$version = [system.diagnostics.fileversioninfo]::getversioninfo("bin\Release\netstandard2.0\Flow.Launcher.Localization.dll").productversion
echo "release_version=$version" | out-file -filepath $env:github_env -encoding utf-8 -append
# Publish to GitHub releases
- name: Publish GitHub releases
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: softprops/[email protected]
with:
files: "nupkgs\\*.nupkg"
tag_name: "v${{ env.release_version }}"