Release upgrade to .NET 8 #51
Workflow file for this run
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: Create NuGet and GitHub Release | |
on: | |
pull_request: | |
types: | |
- closed | |
workflow_dispatch: | |
permissions: | |
contents: write | |
id-token: write | |
### TODO: Replace instances of './.github/workflows/' w/ `auth0/dx-sdk-actions/workflows` and append `@latest` after the common `dx-sdk-actions` repo is made public. | |
### TODO: Also remove `get-prerelease`, `get-release-notes`, `get-version`, `release-create`, and `tag-exists` actions from this repo's .github/actions folder once the repo is public. | |
jobs: | |
build: | |
name: Build | |
runs-on: windows-latest | |
environment: 'release' | |
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.pull_request.merged && startsWith(github.event.pull_request.head.ref, 'release/')) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: '8.0.404' | |
- name: Install .NET Android and iOS workload | |
run: dotnet workload install android ios maui --version 8.0.404 | |
- name: Setup NuGet | |
uses: nuget/setup-nuget@v1 | |
- name: Restore NuGet | |
run: nuget restore Auth0.OidcClient.All.sln | |
- name: Setup MSBuild | |
uses: microsoft/setup-msbuild@v1.1 | |
- name: Build | |
run: msbuild Auth0.OidcClient.All.sln -t:rebuild -verbosity:diag -property:Configuration=Release | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: build | |
path: './src' | |
retention-days: 1 | |
compression-level: 9 | |
rl-scanner-android: | |
needs: build | |
uses: ./.github/workflows/rl-secure.yml | |
with: | |
nuspec-file: "nuget/Auth0.OidcClient.Android.nuspec" | |
artifact-name: "Auth0.OidcClient.Android.tgz" | |
project-path: "src/Auth0.OidcClient.Android" | |
secrets: | |
RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} | |
RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} | |
SIGNAL_HANDLER_TOKEN: ${{ secrets.SIGNAL_HANDLER_TOKEN }} | |
PRODSEC_TOOLS_USER: ${{ secrets.PRODSEC_TOOLS_USER }} | |
PRODSEC_TOOLS_TOKEN: ${{ secrets.PRODSEC_TOOLS_TOKEN }} | |
PRODSEC_TOOLS_ARN: ${{ secrets.PRODSEC_TOOLS_ARN }} | |
rl-scanner-androidx: | |
needs: build | |
uses: ./.github/workflows/rl-secure.yml | |
with: | |
nuspec-file: "nuget/Auth0.OidcClient.AndroidX.nuspec" | |
artifact-name: "Auth0.OidcClient.AndroidX.tgz" | |
project-path: "src/Auth0.OidcClient.AndroidX" | |
secrets: | |
RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} | |
RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} | |
SIGNAL_HANDLER_TOKEN: ${{ secrets.SIGNAL_HANDLER_TOKEN }} | |
PRODSEC_TOOLS_USER: ${{ secrets.PRODSEC_TOOLS_USER }} | |
PRODSEC_TOOLS_TOKEN: ${{ secrets.PRODSEC_TOOLS_TOKEN }} | |
PRODSEC_TOOLS_ARN: ${{ secrets.PRODSEC_TOOLS_ARN }} | |
rl-scanner-iOS: | |
needs: build | |
uses: ./.github/workflows/rl-secure.yml | |
with: | |
nuspec-file: "nuget/Auth0.OidcClient.iOS.nuspec" | |
artifact-name: "Auth0.OidcClient.iOS.tgz" | |
project-path: "src/Auth0.OidcClient.iOS" | |
secrets: | |
RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} | |
RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} | |
SIGNAL_HANDLER_TOKEN: ${{ secrets.SIGNAL_HANDLER_TOKEN }} | |
PRODSEC_TOOLS_USER: ${{ secrets.PRODSEC_TOOLS_USER }} | |
PRODSEC_TOOLS_TOKEN: ${{ secrets.PRODSEC_TOOLS_TOKEN }} | |
PRODSEC_TOOLS_ARN: ${{ secrets.PRODSEC_TOOLS_ARN }} | |
rl-scanner-core: | |
needs: build | |
uses: ./.github/workflows/rl-secure.yml | |
with: | |
nuspec-file: "nuget/Auth0.OidcClient.Core.nuspec" | |
artifact-name: "Auth0.OidcClient.Core.tgz" | |
project-path: "src/Auth0.OidcClient.Core" | |
secrets: | |
RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} | |
RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} | |
SIGNAL_HANDLER_TOKEN: ${{ secrets.SIGNAL_HANDLER_TOKEN }} | |
PRODSEC_TOOLS_USER: ${{ secrets.PRODSEC_TOOLS_USER }} | |
PRODSEC_TOOLS_TOKEN: ${{ secrets.PRODSEC_TOOLS_TOKEN }} | |
PRODSEC_TOOLS_ARN: ${{ secrets.PRODSEC_TOOLS_ARN }} | |
rl-scanner-wpf: | |
needs: build | |
uses: ./.github/workflows/rl-secure.yml | |
with: | |
nuspec-file: "nuget/Auth0.OidcClient.WPF.nuspec" | |
artifact-name: "Auth0.OidcClient.WPF.tgz" | |
project-path: "src/Auth0.OidcClient.WPF" | |
secrets: | |
RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} | |
RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} | |
SIGNAL_HANDLER_TOKEN: ${{ secrets.SIGNAL_HANDLER_TOKEN }} | |
PRODSEC_TOOLS_USER: ${{ secrets.PRODSEC_TOOLS_USER }} | |
PRODSEC_TOOLS_TOKEN: ${{ secrets.PRODSEC_TOOLS_TOKEN }} | |
PRODSEC_TOOLS_ARN: ${{ secrets.PRODSEC_TOOLS_ARN }} | |
rl-scanner-winforms: | |
needs: build | |
uses: ./.github/workflows/rl-secure.yml | |
with: | |
nuspec-file: "nuget/Auth0.OidcClient.WinForms.nuspec" | |
artifact-name: "Auth0.OidcClient.WinForms.tgz" | |
project-path: "src/Auth0.OidcClient.WinForms" | |
secrets: | |
RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} | |
RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} | |
SIGNAL_HANDLER_TOKEN: ${{ secrets.SIGNAL_HANDLER_TOKEN }} | |
PRODSEC_TOOLS_USER: ${{ secrets.PRODSEC_TOOLS_USER }} | |
PRODSEC_TOOLS_TOKEN: ${{ secrets.PRODSEC_TOOLS_TOKEN }} | |
PRODSEC_TOOLS_ARN: ${{ secrets.PRODSEC_TOOLS_ARN }} | |
rl-scanner-uwp: | |
needs: build | |
uses: ./.github/workflows/rl-secure.yml | |
with: | |
nuspec-file: "nuget/Auth0.OidcClient.UWP.nuspec" | |
artifact-name: "Auth0.OidcClient.UWP.tgz" | |
project-path: "src/Auth0.OidcClient.UWP" | |
secrets: | |
RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} | |
RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} | |
SIGNAL_HANDLER_TOKEN: ${{ secrets.SIGNAL_HANDLER_TOKEN }} | |
PRODSEC_TOOLS_USER: ${{ secrets.PRODSEC_TOOLS_USER }} | |
PRODSEC_TOOLS_TOKEN: ${{ secrets.PRODSEC_TOOLS_TOKEN }} | |
PRODSEC_TOOLS_ARN: ${{ secrets.PRODSEC_TOOLS_ARN }} | |
rl-scanner-maui: | |
needs: build | |
uses: ./.github/workflows/rl-secure.yml | |
with: | |
nuspec-file: "nuget/Auth0.OidcClient.MAUI.nuspec" | |
artifact-name: "Auth0.OidcClient.MAUI.tgz" | |
project-path: "src/Auth0.OidcClient.MAUI" | |
secrets: | |
RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} | |
RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} | |
SIGNAL_HANDLER_TOKEN: ${{ secrets.SIGNAL_HANDLER_TOKEN }} | |
PRODSEC_TOOLS_USER: ${{ secrets.PRODSEC_TOOLS_USER }} | |
PRODSEC_TOOLS_TOKEN: ${{ secrets.PRODSEC_TOOLS_TOKEN }} | |
PRODSEC_TOOLS_ARN: ${{ secrets.PRODSEC_TOOLS_ARN }} | |
android: | |
name: Android | |
uses: ./.github/workflows/nuget-release.yml | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
with: | |
tag-prefix: 'android-' | |
project-path: "src/Auth0.OidcClient.Android" | |
nuspec-file: "nuget/Auth0.OidcClient.Android.nuspec" | |
secrets: | |
nuget-token: ${{ secrets.NUGET_API_KEY }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
androidx: | |
name: AndroidX | |
uses: ./.github/workflows/nuget-release.yml | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
with: | |
tag-prefix: 'androidx-' | |
project-path: "src/Auth0.OidcClient.AndroidX" | |
nuspec-file: "nuget/Auth0.OidcClient.AndroidX.nuspec" | |
secrets: | |
nuget-token: ${{ secrets.NUGET_API_KEY }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
ios: | |
name: iOS | |
uses: ./.github/workflows/nuget-release.yml | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
with: | |
tag-prefix: 'ios-' | |
project-path: "src/Auth0.OidcClient.iOS" | |
nuspec-file: "nuget/Auth0.OidcClient.iOS.nuspec" | |
secrets: | |
nuget-token: ${{ secrets.NUGET_API_KEY }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
core: | |
name: Core | |
uses: ./.github/workflows/nuget-release.yml | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
with: | |
tag-prefix: 'core-' | |
project-path: "src/Auth0.OidcClient.Core" | |
nuspec-file: "nuget/Auth0.OidcClient.Core.nuspec" | |
secrets: | |
nuget-token: ${{ secrets.NUGET_API_KEY }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
wpf: | |
name: WPF | |
uses: ./.github/workflows/nuget-release.yml | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
with: | |
tag-prefix: 'wpf-' | |
project-path: "src/Auth0.OidcClient.WPF" | |
nuspec-file: "nuget/Auth0.OidcClient.WPF.nuspec" | |
secrets: | |
nuget-token: ${{ secrets.NUGET_API_KEY }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
winforms: | |
name: WinForms | |
uses: ./.github/workflows/nuget-release.yml | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
with: | |
tag-prefix: 'winforms-' | |
project-path: "src/Auth0.OidcClient.WinForms" | |
nuspec-file: "nuget/Auth0.OidcClient.WinForms.nuspec" | |
secrets: | |
nuget-token: ${{ secrets.NUGET_API_KEY }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
uwp: | |
name: UWP | |
uses: ./.github/workflows/nuget-release.yml | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
with: | |
tag-prefix: 'uwp-' | |
project-path: "src/Auth0.OidcClient.UWP" | |
nuspec-file: "nuget/Auth0.OidcClient.UWP.nuspec" | |
secrets: | |
nuget-token: ${{ secrets.NUGET_API_KEY }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
maui: | |
name: MAUI | |
uses: ./.github/workflows/nuget-release.yml | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
with: | |
tag-prefix: 'maui-' | |
project-path: "src/Auth0.OidcClient.MAUI" | |
nuspec-file: "nuget/Auth0.OidcClient.MAUI.nuspec" | |
secrets: | |
nuget-token: ${{ secrets.NUGET_API_KEY }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
generate-docs: | |
name: Generate API docs | |
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.pull_request.merged && startsWith(github.event.pull_request.head.ref, 'release/')) | |
runs-on: windows-latest | |
environment: release | |
needs: [rl-scanner-android,rl-scanner-androidx,rl-scanner-iOS,rl-scanner-core,rl-scanner-wpf,rl-scanner-winforms,rl-scanner-uwp,rl-scanner-maui] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v4 | |
with: | |
path: './src' | |
name: build | |
- name: Install DocFX | |
run: dotnet tool install -g docfx | |
- name: Build docs | |
run: ./tools/build-docs.sh | |
shell: bash | |
- uses: actions/upload-pages-artifact@v2 | |
with: | |
path: docs | |
deploy-docs: | |
needs: generate-docs | |
name: Deploy API docs | |
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.pull_request.merged && startsWith(github.event.pull_request.head.ref, 'release/')) | |
permissions: | |
pages: write # to deploy to Pages | |
id-token: write # to verify the deployment originates from an appropriate source | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v3 # or specific "vX.X.X" version tag for this action |