Skip to content

pre 1.3.x meta-release #26

pre 1.3.x meta-release

pre 1.3.x meta-release #26

name: Build and Deploy
on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]
defaults:
run:
working-directory: src
jobs:
build:
runs-on: windows-latest
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
strategy:
matrix:
configuration: [Debug, Release]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8
- name: Install dotnet-script
run: dotnet tool install --global dotnet-script
shell: pwsh
- name: Update version in project
run: dotnet script "${{ github.workspace }}/UpdateVersion.csx"
env:
GITHUB_RUN_NUMBER: ${{ github.run_number }}
shell: pwsh
- name: Restore dependencies in project
run: dotnet restore
- name: Build project
run: dotnet build --configuration ${{ matrix.configuration }} --verbosity minimal
- name: Pack NuGet package [Debug]
if: matrix.configuration == 'Debug'
run: dotnet pack --configuration Debug --output ./nupkg
- name: Pack NuGet package [Release]
if: matrix.configuration == 'Release'
run: dotnet pack --configuration Release --output ./nupkg
# - name: Push NuGet package
# if: matrix.configuration == 'Release'
# run: dotnet nuget push ./nupkg/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
- name: Get version from project
id: get_version
run: |
$version_file = "${{ github.workspace }}/src/kasthack.binding.wf.csproj"
$current_version = (Get-Content $version_file | Select-String -Pattern '<Version>(.*?)</Version>').Matches.Groups[1].Value
if (-not $current_version) {
throw "Could not read version from: $version_file"
}
echo "Current version is: $current_version"
echo "current_version=$current_version" >> $GITHUB_ENV
shell: pwsh
- name: Create GitHub Release
if: matrix.configuration == 'Release'
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.new_version }}
name: ${{ env.new_version }}
files: ./nupkg/*.nupkg
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}