Skip to content

Try NuGetVersionV2ext #89

Try NuGetVersionV2ext

Try NuGetVersionV2ext #89

Workflow file for this run

name: Build, Publish, Tag
on:
push:
branches: [ "master", "release/**", "features/**" ]
pull_request:
branches: [ "master", "develop" ]
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
env:
Solution_Name: PrimS.Telnet.sln
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
8.0.x
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v2
- name: Install nuget
run: Invoke-WebRequest https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile Nuget.exe
- name: Nuget restore
run: Nuget.exe restore
- name: Build Debug
run: msbuild $env:Solution_Name /p:Configuration=Debug /p:Platform="Any CPU"
- name: Telnet.CiTests
uses: microsoft/[email protected]
with:
testAssembly: PrimS.Telnet.*CiTests.dll
searchFolder: ./**/bin/Debug/**/
runInParallel: true
# - name: Telnet.48.CiTests
# uses: microsoft/[email protected]
# with:
# testAssembly: PrimS.Telnet.48.CiTests.dll
# searchFolder: ./**/bin/Debug/**/
# runInParallel: true
# - name: Telnet.Sync.CiTests
# uses: microsoft/[email protected]
# with:
# testAssembly: PrimS.Telnet.Sync.CiTests.dll
# searchFolder: ./**/bin/Debug/**/
# runInParallel: true
# - name: Telnet.NetStandard.CiTests
# uses: microsoft/[email protected]
# with:
# testAssembly: PrimS.Telnet.NetStandard.CiTests.dll
# searchFolder: ./**/bin/Debug/**/
# runInParallel: true
- name: GitVersion
run: dotnet tool install --global GitVersion.Tool
- name: Run GitVersion
run: |
$str = dotnet-gitversion /updateprojectfiles | out-string
$json = ConvertFrom-Json $str
$semVer = $json.SemVer
$fullSemVer = $json.FullSemVer
$nuGetVersionV2 = $json.NuGetVersionV2
$buildMetaDataPadded = $json.BuildMetaDataPadded
Write-Host $json
Write-Host $semVer
Write-Host $fullSemVer
Write-Host $nuGetVersionV2
Write-Host ${nuGetVersionV2}${buildMetaDataPadded}
echo "FullSemVer=$fullSemVer" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
echo "SemVer=$semVer" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
echo "NuGetVersionV2=$nuGetVersionV2" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
echo "NuGetVersionV2ext=${nuGetVersionV2}${buildMetaDataPadded}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
- name: Build Release
run: msbuild $env:Solution_Name /p:Configuration=Release /p:Platform="Any CPU"
- name: Nuget pack
run: nuget pack Telnet.nuspec -Version $Env:NuGetVersionV2ext
# Navigate to repo->Settings->Actions and check PUBLISH_TO_GITHUB_PACKAGES
# https://github.com/settings/tokens to create a new classic token, permission write:packages, name & copy paste to PUBLISH_TO_GITHUB_PACKAGES
- name: Publish to GitHub
run: dotnet nuget push "Telnet.$Env:NuGetVersionV2ext.nupkg" --api-key ${{ secrets.PUBLISH_TO_GITHUB_PACKAGES }} --source "https://nuget.pkg.github.com/9swampy/index.json"
#Login to Nuget 9swampy->Api Keys and regenerate, copy to NUGET_APIKEY
- name: Publish to Nuget
if: github.ref == 'refs/heads/master'
run: nuget push "Telnet.$Env:NuGetVersionV2ext.nupkg" ${{ secrets.NUGET_APIKEY }} -source https://api.nuget.org/v3/index.json
- name: Setup Git User
uses: fregante/[email protected]
- name: Git tag
if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release/')
run: |
git tag v$Env:FullSemVer
git push origin v$Env:FullSemVer