Skip to content

.NET Build and Publish Nuget #13

.NET Build and Publish Nuget

.NET Build and Publish Nuget #13

Workflow file for this run

name: .NET Build and Publish Nuget
env:
PROJECT_PATH: src/Stride.CommunityToolkit/Stride.CommunityToolkit.csproj
COMMON_SETTINGS_PATH: src/CommonSettings.props
VERSION: "1.0.0.0-preview.${{ github.run_number }}"
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout Stride Community Toolkit
uses: actions/checkout@v3
- name: .NET Setup
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
- name: Set Version in csproj
run: |
$settingsContent = Get-Content -Path ${{ env.COMMON_SETTINGS_PATH }} -Raw
$updatedCsprojContent = $settingsContent -replace '<Version>.*?</Version>', "<Version>${{ env.VERSION }}</Version>"
Set-Content -Path ${{ env.COMMON_SETTINGS_PATH }} -Value $updatedCsprojContent
- name: Restore dependencies
run: dotnet restore ${{ env.PROJECT_PATH }}
- name: Build
run: dotnet build ${{ env.PROJECT_PATH }} --no-restore
- name: Test
run: dotnet test ${{ env.PROJECT_PATH }} --no-build --verbosity normal
- name: Publish Stride Community Toolkit
uses: alirezanet/[email protected]
with:
PROJECT_FILE_PATH: ${{ env.PROJECT_PATH }}
VERSION_FILE_PATH: ${{ env.COMMON_SETTINGS_PATH }}
NUGET_KEY: ${{secrets.NUGET_API_KEY}}
- name: Create GitHub Release
run: |
gh release create ${{ env.VERSION }} --title "v${{ env.VERSION }}" --notes "Release notes for ${{ env.VERSION }}" --draft
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}