Skip to content

V4 upload

V4 upload #126

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
if: false
run: msbuild $env:Solution_Name /p:Configuration=Debug /p:Platform="Any CPU"
- name: Telnet.CiTests
uses: rusty-bender/vstest-action@main
if: false
with:
testAssembly: PrimS.Telnet.CiTests.dll
searchFolder: ./**/bin/Debug/**/
runInParallel: true
# Can't apparently run both full fat and core test suites together.'
- name: Telnet.*.CiTests
uses: rusty-bender/vstest-action@main
if: false
with:
testAssembly: PrimS.Telnet.*.CiTests.dll
searchFolder: ./**/bin/Debug/**/
runInParallel: true
- name: GitVersion
run: dotnet tool install --global GitVersion.Tool
- name: Run GitVersion
run: |
dotnet-gitversion /showConfig
$str = dotnet-gitversion /updateprojectfiles | out-string
$json = ConvertFrom-Json $str
$json
$semVer = $json.SemVer
$fullSemVer = $json.FullSemVer
$nuGetVersionV2 = $json.MajorMinorPatch
$buildMetaDataPadded = "$($json.MajorMinorPatch)$($json.PreReleaseTagWithDash)$($json.WeightedPreReleaseNumber)"
Write-Host $json
Write-Host "semVer:" $semVer
Write-Host "fullSemVer:" $fullSemVer
Write-Host "nuGetVersionV2:" $nuGetVersionV2
Write-Host "Pre buildMetaDataPadded:" $buildMetaDataPadded
if (${buildMetaDataPadded} = "0000") {
${buildMetaDataPadded} = ''
}
Write-Host "Post buildMetaDataPadded:" $buildMetaDataPadded
Write-Host "NuGetVersionV2ext:${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
if: false
run: msbuild $env:Solution_Name /p:Configuration=Release /p:Platform="Any CPU"
- name: Nuget pack
if: false
run: nuget pack Telnet.nuspec -Version $Env:SemVer
# Navigate to https://github.com/settings/tokens and check to see if the old token has expired
# https://github.com/settings/tokens to create a new classic token, permission write:packages, name & copy paste to PUBLISH_TO_GITHUB_PACKAGES
# Navigate to repo->Settings->Secrets and variables->Actions and check PUBLISH_TO_GITHUB_PACKAGES
- name: Publish to GitHub
if: false
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...
# GitHub navigate to repo->Settings->Secrets and variables->Actions and set 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: Upload Artifact
if: false
uses: actions/upload-artifact@v4
with:
name: published-nuget-package
path: Telnet.*.nupkg
- name: Setup Git User
if: false
uses: fregante/setup-git-user@v1.1.0
- name: Git tag
if: false
#if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release/')
run: |
git tag v$Env:FullSemVer
git push origin v$Env:FullSemVer