Skip to content

Commit

Permalink
Merge pull request #103 from PepperDash/feature/event-message-update
Browse files Browse the repository at this point in the history
4.0.0 Update
  • Loading branch information
andrew-welker authored May 14, 2024
2 parents d35277f + c807503 commit e0545da
Show file tree
Hide file tree
Showing 91 changed files with 5,892 additions and 3,387 deletions.
Binary file modified .DS_Store
Binary file not shown.
285 changes: 143 additions & 142 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ jobs:
path: CHANGELOG.md
- name: Upload Release
id: create_release
if: steps.get_version.outputs.newVersion == 'true'
uses: ncipollo/release-action@v1
with:
allowUpdates: true
Expand All @@ -85,148 +86,148 @@ jobs:
echo "New Version: ${{ steps.get_version.outputs.newVersion }}" >> $GITHUB_STEP_SUMMARY
echo "Channel: ${{ steps.get_version.outputs.channel }}" >> $GITHUB_STEP_SUMMARY
echo "Type: ${{ steps.get_version.outputs.type }}" >> $GITHUB_STEP_SUMMARY
Build_Project:
runs-on: windows-2019
needs: GetVersionNumber
if: needs.GetVersionNumber.outputs.newVersion == 'true'
env:
VERSION: ${{ needs.GetVersionNumber.outputs.version }}
steps:
# First we checkout the source repo
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
# Fetch all tags
- name: Fetch tags
run: git fetch --tags
# Generate the appropriate version number
# - name: Set Version Number
# shell: powershell
# run: |
# $version = ./.github/scripts/GenerateVersionNumber.ps1
# echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# Use the version number to set the version of the assemblies
- name: Update AssemblyInfo.cs
shell: powershell
run: |
Write-Output ${{ env.VERSION }}
./.github/scripts/UpdateAssemblyVersion.ps1 ${{ env.VERSION }}
- name: restore Nuget Packages
run: nuget install .\packages.config -OutputDirectory .\packages -ExcludeVersion
# Login to Docker
- name: Login to Docker
uses: azure/docker-login@v1
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
# Build the solutions in the docker image
- 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)"
# Zip up the output files as needed
- name: Zip Build Output
shell: powershell
run: |
$destination = "$($Env:GITHUB_HOME)\output"
New-Item -ItemType Directory -Force -Path ($destination)
Get-ChildItem ($destination)
$exclusions = @("packages", "4-series")
# 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", "*.nuspec" | ForEach-Object {
$allowed = $true;
# Exclude any files in submodules
foreach ($exclude in $exclusions) {
if ((Split-Path $_.FullName -Parent).contains("$($exclude)")) {
$allowed = $false;
break;
}
}
if ($allowed) {
Write-Host "allowing $($_)"
$_;
}
} | Copy-Item -Destination ($destination) -Force
Write-Host "Getting matching files..."
# Get any files from the output folder that match the following extensions
Get-ChildItem -Path $destination | Where-Object {($_.Extension -eq ".clz") -or ($_.Extension -eq ".cpz" -or ($_.Extension -eq ".cplz"))} | ForEach-Object {
# Replace the extensions with dll and xml and create an array
$filenames = @($($_ -replace "cpz|clz|cplz", "dll"), $($_ -replace "cpz|clz|cplz", "xml"))
Write-Host "Filenames:"
Write-Host $filenames
if ($filenames.length -gt 0) {
# Attempt to get the files and return them to the output directory
Get-ChildItem -Recurse -Path "$($Env:GITHUB_WORKSPACE)" -include $filenames | Copy-Item -Destination ($destination) -Force
}
}
Get-ChildItem -Path $destination\*.cplz | Rename-Item -NewName { "$($_.BaseName)-$($Env:VERSION)$($_.Extension)" }
Compress-Archive -Path $destination -DestinationPath "$($Env:GITHUB_WORKSPACE)\$($Env:SOLUTION_FILE)-$($Env:VERSION).zip" -Force
Write-Host "Output Contents post Zip"
Get-ChildItem -Path $destination
# Write the version to a file to be consumed by the push jobs
- name: Write Version
run: Write-Output "$($Env:VERSION)" | Out-File -FilePath "$($Env:GITHUB_HOME)\output\version.txt"
# Upload output files
- name: Upload Build Output
uses: actions/upload-artifact@v3
with:
name: ${{ env.SOLUTION_FILE}}-${{ env.VERSION}}.zip
path: ./${{ env.SOLUTION_FILE}}-${{ env.VERSION}}.zip
# Upload the Version file as an artifact
- name: Upload version.txt
uses: actions/upload-artifact@v3
with:
name: Version
path: ${{env.GITHUB_HOME}}\output\version.txt
# Create the release on the source repo
- name: Get release notes
uses: actions/download-artifact@v3
with:
name: change-log
- name: Upload Release
id: create_release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: 'output\*.*(zip)'
prerelease: ${{ needs.GetVersionNumber.outputs.channel != '' }}
tag: ${{ needs.GetVersionNumber.outputs.tag }}
commit: ${{ github.sha }}
bodyFile: ./CHANGELOG.md
Push_Nuget_Package:
needs: [GetVersionNumber, Build_Project]
runs-on: windows-latest
env:
VERSION: ${{ needs.GetVersionNumber.outputs.version }}
steps:
- name: Download Build output
uses: actions/download-artifact@v3
with:
name: ${{ env.SOLUTION_FILE}}-${{ env.VERSION }}.zip
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 "./epi-essentials-mobile-control.nuspec" -version ${{ env.VERSION }}
- name: Publish nuget package to Github registry
run: nuget push **/*.nupkg -source github
- name: Add nuget.org API Key
run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Publish nuget package to nuget.org
run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json
# Build_Project:
# runs-on: windows-2019
# needs: GetVersionNumber
# if: needs.GetVersionNumber.outputs.newVersion == 'true'
# env:
# VERSION: ${{ needs.GetVersionNumber.outputs.version }}
# steps:
# # First we checkout the source repo
# - name: Checkout repo
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# # Fetch all tags
# - name: Fetch tags
# run: git fetch --tags
# # Generate the appropriate version number
# # - name: Set Version Number
# # shell: powershell
# # run: |
# # $version = ./.github/scripts/GenerateVersionNumber.ps1
# # echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# # Use the version number to set the version of the assemblies
# - name: Update AssemblyInfo.cs
# shell: powershell
# run: |
# Write-Output ${{ env.VERSION }}
# ./.github/scripts/UpdateAssemblyVersion.ps1 ${{ env.VERSION }}
# - name: restore Nuget Packages
# run: nuget install .\packages.config -OutputDirectory .\packages -ExcludeVersion
# # Login to Docker
# - name: Login to Docker
# uses: azure/docker-login@v1
# with:
# username: ${{ secrets.DOCKERHUB_USER }}
# password: ${{ secrets.DOCKERHUB_PASSWORD }}
# # Build the solutions in the docker image
# - 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)"
# # Zip up the output files as needed
# - name: Zip Build Output
# shell: powershell
# run: |
# $destination = "$($Env:GITHUB_HOME)\output"
# New-Item -ItemType Directory -Force -Path ($destination)
# Get-ChildItem ($destination)
# $exclusions = @("packages", "4-series")
# # 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", "*.nuspec" | ForEach-Object {
# $allowed = $true;
# # Exclude any files in submodules
# foreach ($exclude in $exclusions) {
# if ((Split-Path $_.FullName -Parent).contains("$($exclude)")) {
# $allowed = $false;
# break;
# }
# }
# if ($allowed) {
# Write-Host "allowing $($_)"
# $_;
# }
# } | Copy-Item -Destination ($destination) -Force
# Write-Host "Getting matching files..."
# # Get any files from the output folder that match the following extensions
# Get-ChildItem -Path $destination | Where-Object {($_.Extension -eq ".clz") -or ($_.Extension -eq ".cpz" -or ($_.Extension -eq ".cplz"))} | ForEach-Object {
# # Replace the extensions with dll and xml and create an array
# $filenames = @($($_ -replace "cpz|clz|cplz", "dll"), $($_ -replace "cpz|clz|cplz", "xml"))
# Write-Host "Filenames:"
# Write-Host $filenames
# if ($filenames.length -gt 0) {
# # Attempt to get the files and return them to the output directory
# Get-ChildItem -Recurse -Path "$($Env:GITHUB_WORKSPACE)" -include $filenames | Copy-Item -Destination ($destination) -Force
# }
# }
# Get-ChildItem -Path $destination\*.cplz | Rename-Item -NewName { "$($_.BaseName)-$($Env:VERSION)$($_.Extension)" }
# Compress-Archive -Path $destination -DestinationPath "$($Env:GITHUB_WORKSPACE)\$($Env:SOLUTION_FILE)-$($Env:VERSION).zip" -Force
# Write-Host "Output Contents post Zip"
# Get-ChildItem -Path $destination
# # Write the version to a file to be consumed by the push jobs
# - name: Write Version
# run: Write-Output "$($Env:VERSION)" | Out-File -FilePath "$($Env:GITHUB_HOME)\output\version.txt"
# # Upload output files
# - name: Upload Build Output
# uses: actions/upload-artifact@v3
# with:
# name: ${{ env.SOLUTION_FILE}}-${{ env.VERSION}}.zip
# path: ./${{ env.SOLUTION_FILE}}-${{ env.VERSION}}.zip
# # Upload the Version file as an artifact
# - name: Upload version.txt
# uses: actions/upload-artifact@v3
# with:
# name: Version
# path: ${{env.GITHUB_HOME}}\output\version.txt
# # Create the release on the source repo
# - name: Get release notes
# uses: actions/download-artifact@v3
# with:
# name: change-log
# - name: Upload Release
# id: create_release
# uses: ncipollo/release-action@v1
# with:
# allowUpdates: true
# artifacts: 'output\*.*(zip)'
# prerelease: ${{ needs.GetVersionNumber.outputs.channel != '' }}
# tag: ${{ needs.GetVersionNumber.outputs.tag }}
# commit: ${{ github.sha }}
# bodyFile: ./CHANGELOG.md
# Push_Nuget_Package:
# needs: [GetVersionNumber, Build_Project]
# runs-on: windows-latest
# env:
# VERSION: ${{ needs.GetVersionNumber.outputs.version }}
# steps:
# - name: Download Build output
# uses: actions/download-artifact@v3
# with:
# name: ${{ env.SOLUTION_FILE}}-${{ env.VERSION }}.zip
# 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 "./epi-essentials-mobile-control.nuspec" -version ${{ env.VERSION }}
# - name: Publish nuget package to Github registry
# run: nuget push **/*.nupkg -source github
# - name: Add nuget.org API Key
# run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
# - name: Publish nuget package to nuget.org
# run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json
Build_Project_4-Series:
needs: GetVersionNumber
if: needs.GetVersionNumber.outputs.newVersion == 'true'
Expand Down
Loading

0 comments on commit e0545da

Please sign in to comment.