Skip to content

Update dotnet.yml

Update dotnet.yml #43

Workflow file for this run

# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: Build & Publish
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build_and_release:
runs-on: windows-2019
env:
GHW_SOLUTION_FILE: 'Snaffler.sln'
GHW_BINARY_PATH: '${{ github.workspace }}\Snaffler\bin\Release'
GHW_BINARY_FILE: '$env:GHW_BINARY_PATH\Snaffler.exe'
steps:
- uses: actions/checkout@v3
- name: Install NuGet
uses: NuGet/setup-nuget@v1.2.0
- name: Restore
run: nuget restore $env:GHW_SOLUTION_FILE
- name: Install MSBuild
uses: microsoft/setup-msbuild@v1.1
- name: Build
run: msbuild $env:GHW_SOLUTION_FILE -t:rebuild -property:Configuration=Release
- name: Get Version
id: get_version
run: |
$assembly = [System.Reflection.Assembly]::LoadFile("$env:GHW_BINARY_FILE")
$version = $assembly.GetName().Version.ToString() + '-' + '${{ github.run_number }}'
echo "::set-output name=assemblyVersion::$version"
shell: powershell
- name: Create Zip
run: Compress-Archive -Path "$env:GHW_BINARY_PATH\*" -DestinationPath .\Snaffler.zip
shell: powershell
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ steps.get_version.outputs.assemblyVersion }}
release_name: Snaffler v${{ steps.get_version.outputs.assemblyVersion }}
draft: false
prerelease: false
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: .\Snaffler.zip
asset_name: Snaffler-v${{ steps.get_version.outputs.assemblyVersion }}.zip
asset_content_type: application/zip