ci: Install 7-Zip for packaging #2455
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Branch Build Using Docker | |
on: | |
push: | |
branches: | |
- feature-2.0.0/* | |
- hotfix-2.0.0/* | |
- release-2.0.0/* | |
- development-2.0.0 | |
env: | |
# solution path doesn't need slashes unless there it is multiple folders deep | |
# solution name does not include extension. .sln is assumed | |
SOLUTION_PATH: . | |
SOLUTION_FILE: PepperDash.Essentials | |
# Do not edit this, we're just creating it here | |
VERSION: 0.0.0-buildtype-buildnumber | |
# Defaults to debug for build type | |
BUILD_TYPE: Debug | |
# Defaults to main as the release branch. Change as necessary | |
RELEASE_BRANCH: main | |
jobs: | |
Build_Project_4-Series: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set Version Number | |
id: setVersion | |
shell: powershell | |
run: | | |
$latestVersion = [version]"2.0.0" | |
$newVersion = [version]$latestVersion | |
$phase = "" | |
$newVersionString = "" | |
switch -regex ($Env:GITHUB_REF) { | |
'^refs\/pull\/*.' { | |
$phase = 'beta'; | |
$newVersionString = "{0}-{1}-{2}" -f $newVersion, $phase, $Env:GITHUB_RUN_NUMBER | |
} | |
'^refs\/heads\/hotfix-2.0.0\/*.' { | |
$phase = 'hotfix' | |
$newVersionString = "{0}-{1}-{2}" -f $newVersion, $phase, $Env:GITHUB_RUN_NUMBER | |
} | |
'^refs\/heads\/release-2.0.0\/*.' { | |
$splitRef = $Env:GITHUB_REF -split "/" | |
$version = [version]($splitRef[-1] -replace "v", "") | |
$phase = 'rc' | |
$newVersionString = "{0}-{1}-{2}" -f $version, $phase, $Env:GITHUB_RUN_NUMBER | |
} | |
'^refs\/heads\/feature-2.0.0\/*.' { | |
$phase = 'alpha' | |
$newVersionString = "{0}-{1}-{2}" -f $newVersion, $phase, $Env:GITHUB_RUN_NUMBER | |
} | |
'development-2.0.0' { | |
$phase = 'beta' | |
$newVersionString = "{0}-{1}-{2}" -f $newVersion, $phase, $Env:GITHUB_RUN_NUMBER | |
} | |
} | |
echo "version=$newVersionString" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append | |
- name: Setup MS Build | |
uses: microsoft/setup-msbuild@v1.1 | |
- name: restore Nuget Packages | |
run: nuget restore .\$($Env:SOLUTION_FILE).sln | |
# Build the solutions in the docker image | |
- name: Build Solution | |
run: msbuild .\$($Env:SOLUTION_FILE).sln /p:Platform="Any CPU" /p:Configuration="Debug" /p:Version="${{ steps.setVersion.outputs.version }}" -m | |
- name: Create tag for non-rc builds | |
if: contains(steps.setVersion.outputs.version, 'alpha') | |
run: | | |
git tag ${{ steps.setVersion.outputs.version }} | |
git push --tags origin | |
# Create the release on the source repo | |
- name: Install 7-Zip | |
run: choco install 7zip.install -y | |
- name: Add CPZ and CPLZ to NuGet Package | |
run: | | |
7z a PepperDash.Essentials.${{ steps.setVersion.outputs.version }}.nupkg bin\Debug\*.cpz | |
7z a PepperDash.Essentials.${{ steps.setVersion.outputs.version }}.nupkg bin\Debug\*.cplz | |
- name: Create Release | |
id: create_release | |
# if: contains(steps.setVersion.outputs.version,'-rc-') || | |
# contains(steps.setVersion.outputs.version,'-hotfix-') || | |
# contains(steps.setVersion.outputs.version, '-beta-') | |
uses: ncipollo/release-action@v1 | |
with: | |
artifacts: 'output\**\*.*(cpz|cplz)' | |
generateReleaseNotes: true | |
prerelease: ${{contains('debug', env.BUILD_TYPE)}} | |
tag: ${{ steps.setVersion.outputs.version }} | |
- name: Setup Nuget | |
run: | | |
nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username pepperdash -password ${{ secrets.GITHUB_TOKEN }} | |
nuget setApiKey ${{ secrets.GITHUB_TOKEN }} -Source github | |
nuget setApiKey ${{ secrets.NUGET_API_KEY }} -Source https://api.nuget.org/v3/index.json | |
- name: Publish to Nuget | |
run: nuget push .\output\*.nupkg -Source https://api.nuget.org/v3/index.json | |
- name: Publish to Github Nuget | |
run: nuget push .\output\*.nupkg -Source github |