From d8317c4c703c04c55fe298f72a4b0e67ca019df8 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Sat, 20 Jun 2020 19:36:48 -0600 Subject: [PATCH] updates docker to add a job to create and push package --- .github/scripts/ZipBuildOutput.ps1 | 2 +- .github/workflows/docker.yml | 50 +++++++++++++++---- .../Pepperdash Core/PepperDash_Core.nuspec | 4 +- 3 files changed, 44 insertions(+), 12 deletions(-) diff --git a/.github/scripts/ZipBuildOutput.ps1 b/.github/scripts/ZipBuildOutput.ps1 index 14cd92b..6e44736 100644 --- a/.github/scripts/ZipBuildOutput.ps1 +++ b/.github/scripts/ZipBuildOutput.ps1 @@ -10,7 +10,7 @@ Get-ChildItem ($destination) $exclusions = @(git submodule foreach --quiet 'echo $name') # Trying to get any .json schema files (not currently working) # Gets any files with the listed extensions. -Get-ChildItem -recurse -Path "$($Env:GITHUB_WORKSPACE)" -include "*.clz", "*.cpz", "*.cplz", "*.json" | ForEach-Object { +Get-ChildItem -recurse -Path "$($Env:GITHUB_WORKSPACE)" -include "*.clz", "*.cpz", "*.cplz", "*.json", "*.nuspec" | ForEach-Object { $allowed = $true; # Exclude any files in submodules foreach ($exclude in $exclusions) { diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 6f860ce..adb497d 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -61,14 +61,7 @@ jobs: - name: Build Solution shell: powershell run: | - Invoke-Expression "docker run --rm --mount type=bind,source=""$($Env:GITHUB_WORKSPACE)"",target=""c:/project"" pepperdash/sspbuilder c:\cihelpers\vsidebuild.exe -Solution ""c:\project\$($Env:SOLUTION_PATH)\$($Env:SOLUTION_FILE).sln"" -BuildSolutionConfiguration $($ENV:BUILD_TYPE)" - - name: Add nuget.exe - uses: nuget/setup-nuget@v1 - - name: Create nuget package - run: nuget pack "./Pepperdash Core/Pepperdash Core/PepperDash_Core.nuspec" -version ${{ env.VERSION }} - # Zip up the output files as needed - - name: Publish nuget package to Github registry - run: nuget push **/*.nupkg -source "https://nuget.pkg.github.com/pepperdash/index.json" --api-key ${{ secrets.GITHUB_TOKEN }} + Invoke-Expression "docker run --rm --mount type=bind,source=""$($Env:GITHUB_WORKSPACE)"",target=""c:/project"" pepperdash/sspbuilder c:\cihelpers\vsidebuild.exe -Solution ""c:\project\$($Env:SOLUTION_PATH)\$($Env:SOLUTION_FILE).sln"" -BuildSolutionConfiguration $($ENV:BUILD_TYPE)"" - name: Zip Build Output shell: powershell run: ./.github/scripts/ZipBuildOutput.ps1 @@ -115,7 +108,46 @@ jobs: asset_name: ${{ env.SOLUTION_FILE}}-${{ env.VERSION}}.zip asset_content_type: application/zip env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}} + Push_Nuget_Package: + needs: Build_Project + runs-on: windows-latest + steps: + - name: Download Build Version Info + uses: actions/download-artifact@v1 + with: + name: Version + - name: Set Version Number + shell: powershell + run: | + Get-ChildItem "./Version" + $version = Get-Content -Path ./Version/version.txt + Write-Host "Version: $version" + Write-Output "::set-env name=VERSION::$version" + Remove-Item -Path ./Version/version.txt + Remove-Item -Path ./Version + - name: Download Build output + uses: actions/download-artifact@v1 + with: + name: Build + path: ./ + - name: Unzip Build file + run: | + Get-ChildItem .\*.zip | Expand-Archive -DestinationPath .\ + Remove-Item -Path .\*.zip + - name: Copy Files to root & delete output directory + run: | + Remove-Item -Path .\* -Include @("*.cpz","*.md","*.cplz","*.json","*.dll","*.clz") + Get-ChildItem -Path .\output\* | Copy-Item -Destination .\ + Remove-Item -Path .\output -Recurse + - name: Add nuget.exe + uses: nuget/setup-nuget@v1 + - name: Add Github Packages source + run: nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username Pepperdash -password ${{ secrets.GITHUB_TOKEN }} + - name: Create nuget package + run: nuget pack "./PepperDash_Core.nuspec" -version ${{ env.VERSION }} + - name: Publish nuget package to Github registry + run: nuget push **/*.nupkg -source github # This step always runs and pushes the build to the internal build rep Internal_Push_Output: needs: Build_Project diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.nuspec b/Pepperdash Core/Pepperdash Core/PepperDash_Core.nuspec index 9cd17da..c6c6436 100644 --- a/Pepperdash Core/Pepperdash Core/PepperDash_Core.nuspec +++ b/Pepperdash Core/Pepperdash Core/PepperDash_Core.nuspec @@ -10,11 +10,11 @@ MIT https://github.com/PepperDash/PepperDashCore Copyright 2020 - Some text here + PepperDash Core is an open source Crestron SIMPL# library that can be used in SIMPL# Pro applications such as Essentials or as a standalone library with SIMPL+ wrappers to expose functionality in SIMPL Windows programs. crestron 3series 4series - + \ No newline at end of file