Skip to content

Merge pull request #3202 from PrismLibrary/dev/ds/release #187

Merge pull request #3202 from PrismLibrary/dev/ds/release

Merge pull request #3202 from PrismLibrary/dev/ds/release #187

Workflow file for this run

name: Prism CI
on:
push:
branches:
- master
- 'releases/**'
paths:
- .github/workflows/ci.yml
- Directory.Build.props
- Directory.Build.targets
- Directory.Packages.props
- xunit.runner.json
- 'src/**'
pull_request:
branches:
- master
- 'releases/**'
paths:
- .github/workflows/ci.yml
workflow_dispatch:
jobs:
build-prism-core:
uses: avantipoint/workflow-templates/.github/workflows/dotnet-build.yml@v1
with:
name: Build Prism.Core
solution-path: PrismLibrary_Core.slnf
code-sign: true
artifact-name: Core
secrets:
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
codeSignClientId: ${{ secrets.CodeSignClientId }}
codeSignTenantId: ${{ secrets.CodeSignTenantId }}
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
codeSignCertificate: ${{ secrets.CodeSignCertificate }}
build-prism-wpf:
uses: avantipoint/workflow-templates/.github/workflows/dotnet-build.yml@v1
with:
name: Build Prism.Wpf
solution-path: PrismLibrary_Wpf.slnf
code-sign: true
artifact-name: Wpf
secrets:
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
codeSignClientId: ${{ secrets.CodeSignClientId }}
codeSignTenantId: ${{ secrets.CodeSignTenantId }}
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
codeSignCertificate: ${{ secrets.CodeSignCertificate }}
build-prism-forms:
uses: avantipoint/workflow-templates/.github/workflows/msbuild-build.yml@v1
with:
name: Build Prism.Forms
solution-path: PrismLibrary_Forms.slnf
code-sign: true
artifact-name: Forms
jdk-version: 13
secrets:
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
codeSignClientId: ${{ secrets.CodeSignClientId }}
codeSignTenantId: ${{ secrets.CodeSignTenantId }}
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
codeSignCertificate: ${{ secrets.CodeSignCertificate }}
build-prism-uno:
uses: avantipoint/workflow-templates/.github/workflows/msbuild-build.yml@v1
with:
name: Build Prism.Uno
solution-path: PrismLibrary_Uno.slnf
windows-sdk-version: 18362
dotnet-version: 8.0.300
install-workload: ios android macos maccatalyst wasm-tools
uno-check: false
uno-check-version: 1.24.0
uno-check-parameters: '--skip xcode --skip gtk3 --skip vswin --skip androidemulator --skip androidsdk --skip vsmac --skip dotnetnewunotemplates'
run-tests: false
code-sign: true
artifact-name: Uno
secrets:
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
codeSignClientId: ${{ secrets.CodeSignClientId }}
codeSignTenantId: ${{ secrets.CodeSignTenantId }}
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
codeSignCertificate: ${{ secrets.CodeSignCertificate }}
build-prism-maui:
uses: avantipoint/workflow-templates/.github/workflows/dotnet-build.yml@v1
with:
name: Build Prism.Maui
solution-path: PrismLibrary_Maui.slnf
install-workload: maui maui-tizen
code-sign: true
artifact-name: Maui
secrets:
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
codeSignClientId: ${{ secrets.CodeSignClientId }}
codeSignTenantId: ${{ secrets.CodeSignTenantId }}
codeSignClientSecret: ${{ secrets.CodeSignClientSecret }}
codeSignCertificate: ${{ secrets.CodeSignCertificate }}
generate-consolidated-artifacts:
needs: [build-prism-core, build-prism-wpf, build-prism-forms, build-prism-uno, build-prism-maui]
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download Core
uses: actions/download-artifact@v3
with:
name: Core
path: artifacts\Core
- name: Download Wpf
uses: actions/download-artifact@v3
with:
name: Wpf
path: artifacts\Wpf
- name: Download Forms
uses: actions/download-artifact@v3
with:
name: Forms
path: artifacts\Forms
- name: Download Uno
uses: actions/download-artifact@v3
with:
name: Uno
path: artifacts\Uno
- name: Download Maui
uses: actions/download-artifact@v3
with:
name: Maui
path: artifacts\Maui
- name: Consolidate Artifacts
run: build\consolidate-artifacts.ps1
shell: powershell
- name: Upload Consolidated NuGets
uses: actions/upload-artifact@v3
with:
name: NuGet
path: .\artifacts\nuget
deploy-internal:
uses: avantipoint/workflow-templates/.github/workflows/deploy-nuget.yml@v1
needs: generate-consolidated-artifacts
if: ${{ github.event_name == 'push' }}
with:
name: Deploy Internal
secrets:
feedUrl: ${{ secrets.IN_HOUSE_NUGET_FEED }}
apiKey: ${{ secrets.IN_HOUSE_API_KEY }}
deploy-commercial-plus:
uses: avantipoint/workflow-templates/.github/workflows/deploy-nuget.yml@v1
needs: generate-consolidated-artifacts
if: ${{ github.event_name == 'push' }}
with:
name: Deploy Commercial Plus
secrets:
feedUrl: ${{ secrets.PRISM_NUGET_FEED }}
apiKey: ${{ secrets.PRISM_NUGET_TOKEN }}