-
-
Notifications
You must be signed in to change notification settings - Fork 232
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
178 additions
and
178 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,204 +16,204 @@ permissions: | |
|
||
jobs: | ||
|
||
# build_api_blazor: | ||
# name: build api + blazor web | ||
# runs-on: ubuntu-24.04 | ||
build_api_blazor: | ||
name: build api + blazor web | ||
runs-on: ubuntu-24.04 | ||
|
||
# steps: | ||
steps: | ||
|
||
# - name: Checkout source code | ||
# uses: actions/checkout@v4 | ||
- name: Checkout source code | ||
uses: actions/checkout@v4 | ||
|
||
# - name: Setup .NET | ||
# uses: actions/setup-dotnet@v4 | ||
# with: | ||
# global-json-file: src/global.json | ||
|
||
# - name: Create project from Boilerplate | ||
# run: | | ||
# cd src/Templates/Boilerplate && dotnet build -c Release | ||
# dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0 | ||
# dotnet new install Bit.Boilerplate.0.0.0.nupkg | ||
# cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --sentry --serverUrl ${{ env.SERVER_ADDRESS }} --filesStorage AzureBlobStorage --notification --captcha reCaptcha --signalR --framework net9.0 | ||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v4 | ||
with: | ||
global-json-file: src/global.json | ||
|
||
- name: Create project from Boilerplate | ||
run: | | ||
cd src/Templates/Boilerplate && dotnet build -c Release | ||
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0 | ||
dotnet new install Bit.Boilerplate.0.0.0.nupkg | ||
cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --sentry --serverUrl ${{ env.SERVER_ADDRESS }} --filesStorage AzureBlobStorage --notification --captcha reCaptcha --signalR --framework net9.0 | ||
# - name: Update core appsettings.json | ||
# uses: devops-actions/[email protected] | ||
# with: | ||
# files: 'AdminPanel/src/Shared/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.Production.json' | ||
# env: | ||
# WebAppRender.BlazorMode: BlazorWebAssembly | ||
# ServerAddress: ${{ env.SERVER_ADDRESS }} | ||
# Logging.Sentry.Dsn: ${{ secrets.ADMINPANEL_SENTRY_DSN }} | ||
# GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }} | ||
# AdsPushVapid.PublicKey: ${{ secrets.ADMINPANEL_PUBLIC_VAPIDKEY }} | ||
# ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }} | ||
|
||
# - uses: actions/setup-node@v4 | ||
# with: | ||
# node-version: 22 | ||
- name: Update core appsettings.json | ||
uses: devops-actions/[email protected] | ||
with: | ||
files: 'AdminPanel/src/Shared/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.Production.json' | ||
env: | ||
WebAppRender.BlazorMode: BlazorWebAssembly | ||
ServerAddress: ${{ env.SERVER_ADDRESS }} | ||
Logging.Sentry.Dsn: ${{ secrets.ADMINPANEL_SENTRY_DSN }} | ||
GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }} | ||
AdsPushVapid.PublicKey: ${{ secrets.ADMINPANEL_PUBLIC_VAPIDKEY }} | ||
ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }} | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: 22 | ||
|
||
# - name: Install wasm | ||
# run: cd src && dotnet workload install wasm-tools | ||
- name: Install wasm | ||
run: cd src && dotnet workload install wasm-tools | ||
|
||
# - name: Generate CSS/JS files | ||
# run: dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release | ||
- name: Generate CSS/JS files | ||
run: dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release | ||
|
||
# - name: Publish | ||
# run: dotnet publish AdminPanel/src/Server/AdminPanel.Server.Web/AdminPanel.Server.Web.csproj -c Release -p:PwaEnabled=true --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/server -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" | ||
- name: Publish | ||
run: dotnet publish AdminPanel/src/Server/AdminPanel.Server.Web/AdminPanel.Server.Web.csproj -c Release -p:PwaEnabled=true --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/server -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" | ||
|
||
# - name: Upload server artifact | ||
# uses: actions/upload-artifact@v4 | ||
# with: | ||
# name: server-bundle | ||
# path: ${{env.DOTNET_ROOT}}/server | ||
# include-hidden-files: true # Required for wwwroot/.well-known folder | ||
- name: Upload server artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: server-bundle | ||
path: ${{env.DOTNET_ROOT}}/server | ||
include-hidden-files: true # Required for wwwroot/.well-known folder | ||
|
||
# deploy_blazor_wasm_standalone: | ||
# name: build blazor wasm standalone | ||
# runs-on: ubuntu-24.04 | ||
deploy_blazor_wasm_standalone: | ||
name: build blazor wasm standalone | ||
runs-on: ubuntu-24.04 | ||
|
||
# steps: | ||
steps: | ||
|
||
# - name: Checkout source code | ||
# uses: actions/checkout@v4 | ||
- name: Checkout source code | ||
uses: actions/checkout@v4 | ||
|
||
# - name: Setup .NET | ||
# uses: actions/setup-dotnet@v4 | ||
# with: | ||
# global-json-file: src/global.json | ||
|
||
# - name: Create project from Boilerplate | ||
# run: | | ||
# cd src/Templates/Boilerplate && dotnet build -c Release | ||
# dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0 | ||
# dotnet new install Bit.Boilerplate.0.0.0.nupkg | ||
# cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --sentry --serverUrl ${{ env.SERVER_ADDRESS }} --filesStorage AzureBlobStorage --notification --captcha reCaptcha --signalR --framework net9.0 | ||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v4 | ||
with: | ||
global-json-file: src/global.json | ||
|
||
- name: Create project from Boilerplate | ||
run: | | ||
cd src/Templates/Boilerplate && dotnet build -c Release | ||
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0 | ||
dotnet new install Bit.Boilerplate.0.0.0.nupkg | ||
cd ../../../ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --appInsights --sentry --serverUrl ${{ env.SERVER_ADDRESS }} --filesStorage AzureBlobStorage --notification --captcha reCaptcha --signalR --framework net9.0 | ||
# - name: Update core appsettings.json | ||
# uses: devops-actions/[email protected] | ||
# with: | ||
# files: 'AdminPanel/src/Shared/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.Production.json' | ||
# env: | ||
# ServerAddress: ${{ env.SERVER_ADDRESS }} | ||
# Logging.Sentry.Dsn: ${{ secrets.ADMINPANEL_SENTRY_DSN }} | ||
# GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }} | ||
# AdsPushVapid.PublicKey: ${{ secrets.ADMINPANEL_PUBLIC_VAPIDKEY }} | ||
# ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }} | ||
|
||
# - uses: actions/setup-node@v4 | ||
# with: | ||
# node-version: 22 | ||
- name: Update core appsettings.json | ||
uses: devops-actions/[email protected] | ||
with: | ||
files: 'AdminPanel/src/Shared/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Core/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.json, AdminPanel/src/Client/AdminPanel.Client.Web/appsettings.Production.json' | ||
env: | ||
ServerAddress: ${{ env.SERVER_ADDRESS }} | ||
Logging.Sentry.Dsn: ${{ secrets.ADMINPANEL_SENTRY_DSN }} | ||
GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }} | ||
AdsPushVapid.PublicKey: ${{ secrets.ADMINPANEL_PUBLIC_VAPIDKEY }} | ||
ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }} | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: 22 | ||
|
||
# - name: Install wasm | ||
# run: cd src && dotnet workload install wasm-tools | ||
- name: Install wasm | ||
run: cd src && dotnet workload install wasm-tools | ||
|
||
# - name: Generate CSS/JS files | ||
# run: dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release | ||
- name: Generate CSS/JS files | ||
run: dotnet build AdminPanel/src/Client/AdminPanel.Client.Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release | ||
|
||
# - name: Publish | ||
# run: dotnet publish AdminPanel/src/Client/AdminPanel.Client.Web/AdminPanel.Client.Web.csproj -c Release -p:PwaEnabled=true -o ${{env.DOTNET_ROOT}}/client -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" | ||
|
||
# - name: Upload to asw | ||
# run: | | ||
# npm install -g @azure/static-web-apps-cli | ||
# swa deploy --deployment-token ${{ secrets.ADMINPANEL_ASW_TOKEN }} --env production --app-location ${{env.DOTNET_ROOT}}/client/wwwroot | ||
|
||
# deploy_api_blazor: | ||
# name: deploy api + blazor | ||
# needs: build_api_blazor | ||
# runs-on: ubuntu-24.04 | ||
# environment: | ||
# name: 'production' | ||
# url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} | ||
|
||
# steps: | ||
|
||
# - name: Retrieve server bundle | ||
# uses: actions/download-artifact@v4 | ||
# with: | ||
# name: server-bundle | ||
|
||
# - name: Delete DataProtectionCertificate.pfx | ||
# run: | | ||
# rm DataProtectionCertificate.pfx | ||
|
||
# - name: Extract identity certificate from env | ||
# uses: timheuer/[email protected] | ||
# with: | ||
# fileDir: './' | ||
# fileName: 'DataProtectionCertificate.pfx' | ||
# encodedString: ${{ secrets.API_DATA_PROTECTION_CERTIFICATE_FILE_BASE64 }} | ||
|
||
# - name: Retrieve AppleAuthKey.p8 | ||
# run: echo "${{ secrets.APPSTORE_API_KEY_PRIVATE_KEY_ADMIN }}" > AppleAuthKey.p8 | ||
|
||
# - name: Deploy to Azure Web App | ||
# id: deploy-to-webapp | ||
# uses: azure/webapps-deploy@v3 | ||
# with: | ||
# app-name: ${{ env.APP_SERVICE_NAME }} | ||
# slot-name: 'production' | ||
# publish-profile: ${{ secrets.ADMINPANEL_AZURE_APP_SERVICE_PUBLISH_PROFILE }} | ||
# package: . | ||
|
||
# - name: Purge cache | ||
# uses: jakejarvis/[email protected] | ||
# env: | ||
# CLOUDFLARE_ZONE: ${{ secrets.BITPLATFORM_DEV_CLOUDFLARE_ZONE }} | ||
# CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} | ||
|
||
# build_blazor_hybrid_windows: | ||
# name: build blazor hybrid (windows) | ||
# runs-on: windows-2022 | ||
- name: Publish | ||
run: dotnet publish AdminPanel/src/Client/AdminPanel.Client.Web/AdminPanel.Client.Web.csproj -c Release -p:PwaEnabled=true -o ${{env.DOTNET_ROOT}}/client -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" | ||
|
||
- name: Upload to asw | ||
run: | | ||
npm install -g @azure/static-web-apps-cli | ||
swa deploy --deployment-token ${{ secrets.ADMINPANEL_ASW_TOKEN }} --env production --app-location ${{env.DOTNET_ROOT}}/client/wwwroot | ||
deploy_api_blazor: | ||
name: deploy api + blazor | ||
needs: build_api_blazor | ||
runs-on: ubuntu-24.04 | ||
environment: | ||
name: 'production' | ||
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} | ||
|
||
steps: | ||
|
||
- name: Retrieve server bundle | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: server-bundle | ||
|
||
- name: Delete DataProtectionCertificate.pfx | ||
run: | | ||
rm DataProtectionCertificate.pfx | ||
- name: Extract identity certificate from env | ||
uses: timheuer/[email protected] | ||
with: | ||
fileDir: './' | ||
fileName: 'DataProtectionCertificate.pfx' | ||
encodedString: ${{ secrets.API_DATA_PROTECTION_CERTIFICATE_FILE_BASE64 }} | ||
|
||
- name: Retrieve AppleAuthKey.p8 | ||
run: echo "${{ secrets.APPSTORE_API_KEY_PRIVATE_KEY_ADMIN }}" > AppleAuthKey.p8 | ||
|
||
- name: Deploy to Azure Web App | ||
id: deploy-to-webapp | ||
uses: azure/webapps-deploy@v3 | ||
with: | ||
app-name: ${{ env.APP_SERVICE_NAME }} | ||
slot-name: 'production' | ||
publish-profile: ${{ secrets.ADMINPANEL_AZURE_APP_SERVICE_PUBLISH_PROFILE }} | ||
package: . | ||
|
||
- name: Purge cache | ||
uses: jakejarvis/[email protected] | ||
env: | ||
CLOUDFLARE_ZONE: ${{ secrets.BITPLATFORM_DEV_CLOUDFLARE_ZONE }} | ||
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} | ||
|
||
build_blazor_hybrid_windows: | ||
name: build blazor hybrid (windows) | ||
runs-on: windows-2022 | ||
|
||
# steps: | ||
steps: | ||
|
||
# - name: Checkout source code | ||
# uses: actions/checkout@v4 | ||
|
||
# - name: Setup .NET | ||
# uses: actions/setup-dotnet@v4 | ||
# with: | ||
# global-json-file: src\global.json | ||
|
||
# - uses: actions/setup-node@v4 | ||
# with: | ||
# node-version: 22 | ||
|
||
# - name: Create project from Boilerplate | ||
# run: | | ||
# cd src\Templates\Boilerplate && dotnet build -c Release | ||
# dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0 | ||
# dotnet new install Bit.Boilerplate.0.0.0.nupkg | ||
# cd ..\..\..\ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --windows --appInsights --sentry --serverUrl ${{ env.SERVER_ADDRESS }} --filesStorage AzureBlobStorage --captcha reCaptcha --signalR --framework net9.0 | ||
- name: Checkout source code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v4 | ||
with: | ||
global-json-file: src\global.json | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: 22 | ||
|
||
- name: Create project from Boilerplate | ||
run: | | ||
cd src\Templates\Boilerplate && dotnet build -c Release | ||
dotnet pack -c Release -o . -p:ReleaseVersion=0.0.0 -p:PackageVersion=0.0.0 | ||
dotnet new install Bit.Boilerplate.0.0.0.nupkg | ||
cd ..\..\..\ && dotnet new bit-bp --name AdminPanel --database PostgreSQL --sample Admin --windows --appInsights --sentry --serverUrl ${{ env.SERVER_ADDRESS }} --filesStorage AzureBlobStorage --captcha reCaptcha --signalR --framework net9.0 | ||
# - name: Update core appsettings.json | ||
# uses: devops-actions/[email protected] | ||
# with: | ||
# files: 'AdminPanel\src\Shared\appsettings.json, AdminPanel\src\Client\AdminPanel.Client.Core\appsettings.json, AdminPanel\src\Client\AdminPanel.Client.Windows\appsettings.json' | ||
# env: | ||
# ServerAddress: ${{ env.SERVER_ADDRESS }} | ||
# Logging.Sentry.Dsn: ${{ secrets.ADMINPANEL_SENTRY_DSN }} | ||
# GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }} | ||
# WindowsUpdate.FilesUrl: https://windows-adminpanel.bitplatform.dev | ||
# ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }} | ||
|
||
# - name: Generate CSS/JS files | ||
# run: dotnet build AdminPanel\src\Client\AdminPanel.Client.Core\AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release | ||
|
||
# - name: Publish | ||
# run: | | ||
# cd AdminPanel\src\Client\AdminPanel.Client.Windows\ | ||
# dotnet publish AdminPanel.Client.Windows.csproj -c Release -o .\publish-result -r win-x86 -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --self-contained | ||
# dotnet tool restore | ||
# dotnet vpk pack -u AdminPanel.Client.Windows -v "${{ vars.APPLICATION_DISPLAY_VERSION }}" -p .\publish-result -e AdminPanel.Client.Windows.exe -r win-x86 --framework webview2 --icon .\wwwroot\favicon.ico --packTitle 'AdminPanel' | ||
- name: Update core appsettings.json | ||
uses: devops-actions/[email protected] | ||
with: | ||
files: 'AdminPanel\src\Shared\appsettings.json, AdminPanel\src\Client\AdminPanel.Client.Core\appsettings.json, AdminPanel\src\Client\AdminPanel.Client.Windows\appsettings.json' | ||
env: | ||
ServerAddress: ${{ env.SERVER_ADDRESS }} | ||
Logging.Sentry.Dsn: ${{ secrets.ADMINPANEL_SENTRY_DSN }} | ||
GoogleRecaptchaSiteKey: ${{ secrets.GOOGLE_RECAPTCHA_SITE_KEY }} | ||
WindowsUpdate.FilesUrl: https://windows-adminpanel.bitplatform.dev | ||
ApplicationInsights.ConnectionString: ${{ secrets.APPLICATION_INSIGHTS_CONNECTION_STRING }} | ||
|
||
- name: Generate CSS/JS files | ||
run: dotnet build AdminPanel\src\Client\AdminPanel.Client.Core\AdminPanel.Client.Core.csproj -t:BeforeBuildTasks -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --no-restore -c Release | ||
|
||
- name: Publish | ||
run: | | ||
cd AdminPanel\src\Client\AdminPanel.Client.Windows\ | ||
dotnet publish AdminPanel.Client.Windows.csproj -c Release -o .\publish-result -r win-x86 -p:Version="${{ vars.APPLICATION_DISPLAY_VERSION}}" --self-contained | ||
dotnet tool restore | ||
dotnet vpk pack -u AdminPanel.Client.Windows -v "${{ vars.APPLICATION_DISPLAY_VERSION }}" -p .\publish-result -e AdminPanel.Client.Windows.exe -r win-x86 --framework webview2 --icon .\wwwroot\favicon.ico --packTitle 'AdminPanel' | ||
# - name: Upload artifact | ||
# uses: actions/upload-artifact@v4 | ||
# with: | ||
# name: win-exe-bundle | ||
# path: AdminPanel\src\Client\AdminPanel.Client.Windows\Releases | ||
- name: Upload artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: win-exe-bundle | ||
path: AdminPanel\src\Client\AdminPanel.Client.Windows\Releases | ||
|
||
build_blazor_hybrid_android: | ||
name: build blazor hybrid (android) | ||
|