Skip to content

Commit c90f8c9

Browse files
committed
feat(button): cicd appsettings
1 parent 111a0af commit c90f8c9

File tree

24 files changed

+375
-1579
lines changed

24 files changed

+375
-1579
lines changed

.github/workflows/dev.yml

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,21 @@ jobs:
143143
- name: Replace local environment variable in nuget config because cant provide it as a parameter
144144
run: sed -i "s|%TELBlazorPackageSource%|$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH|g" nuget.config
145145

146+
- name: Create appsettings development from secrets
147+
run: |
148+
declare -A paths=(
149+
["./TELBlazor.Components.UnitTests/appsettings.Development.json"]="${{ secrets.UNITTESTS_APPSETTINGS_DEVELOPMENT }}"
150+
["./TELBlazor.Components.ShowCase.WasmStaticClient/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT }}"
151+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT }}"
152+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/appsettings.Development.json"]="${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}"
153+
)
154+
155+
for path in "${!paths[@]}"; do
156+
mkdir -p "$(dirname "$path")"
157+
printf '%s' "${paths[$path]}" > "$path"
158+
done
159+
160+
146161
- name: Clean lock files because the newly generated package file will supersede the locks
147162
run: |
148163
find . -name "packages.lock.json" -type f -exec rm -f {} \;
@@ -208,7 +223,21 @@ jobs:
208223
- name: debug DEV_TELBLAZOR_PACKAGE_VERSION
209224
run: |
210225
echo "DEV_TELBLAZOR_PACKAGE_VERSION $DEV_TELBLAZOR_PACKAGE_VERSION"
211-
226+
227+
- name: Create appsettings development from secrets
228+
run: |
229+
declare -A paths=(
230+
["./TELBlazor.Components.UnitTests/appsettings.Development.json"]="${{ secrets.UNITTESTS_APPSETTINGS_DEVELOPMENT }}"
231+
["./TELBlazor.Components.ShowCase.WasmStaticClient/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT }}"
232+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT }}"
233+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/appsettings.Development.json"]="${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}"
234+
)
235+
236+
for path in "${!paths[@]}"; do
237+
mkdir -p "$(dirname "$path")"
238+
printf '%s' "${paths[$path]}" > "$path"
239+
done
240+
212241
- name: Clean lock files because the newly generated package file will superseed the locks
213242
run: |
214243
echo "Listing packages.lock.json files:"

.github/workflows/release.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,20 @@ jobs:
103103
- name: Replace local environment variable in nuget config because cant provide it as a parameter
104104
run: sed -i "s|%TELBlazorPackageSource%|$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH|g" nuget.config
105105

106+
- name: Create appsettings development from secrets
107+
run: |
108+
declare -A paths=(
109+
["./TELBlazor.Components.UnitTests/appsettings.Development.json"]="${{ secrets.UNITTESTS_APPSETTINGS_DEVELOPMENT }}"
110+
["./TELBlazor.Components.ShowCase.WasmStaticClient/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT }}"
111+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT }}"
112+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/appsettings.Development.json"]="${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}"
113+
)
114+
115+
for path in "${!paths[@]}"; do
116+
mkdir -p "$(dirname "$path")"
117+
printf '%s' "${paths[$path]}" > "$path"
118+
done
119+
106120
- name: Clean lock files because the newly generated package file will supersede the locks
107121
run: |
108122
find . -name "packages.lock.json" -type f -exec rm -f {} \;
@@ -160,7 +174,21 @@ jobs:
160174
sed -i "s|%GITHUB_USERNAME%|$GITHUB_USERNAME|g" nuget.config
161175
sed -i "s|%GITHUB_PACKAGES_TOKEN%|$PACKAGES_TOKEN |g" nuget.config
162176
163-
177+
178+
- name: Create appsettings development from secrets
179+
run: |
180+
declare -A paths=(
181+
["./TELBlazor.Components.UnitTests/appsettings.Development.json"]="${{ secrets.UNITTESTS_APPSETTINGS_DEVELOPMENT }}"
182+
["./TELBlazor.Components.ShowCase.WasmStaticClient/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT }}"
183+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT }}"
184+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/appsettings.Development.json"]="${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}"
185+
)
186+
187+
for path in "${!paths[@]}"; do
188+
mkdir -p "$(dirname "$path")"
189+
printf '%s' "${paths[$path]}" > "$path"
190+
done
191+
164192
- name: Clean lock files because the newly generated package file will supersede the locks
165193
run: |
166194
echo "Listing packages.lock.json files:"

.github/workflows/reuseable-ci-checks.yml

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,21 @@ jobs:
5151

5252
- name: Replace local environment variable in nuget config because cant provide it as a parameter
5353
run: sed -i "s|%TELBlazorPackageSource%|$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH|g" nuget.config
54-
54+
55+
- name: Create appsettings development from secrets
56+
run: |
57+
declare -A paths=(
58+
["./TELBlazor.Components.UnitTests/appsettings.Development.json"]="${{ secrets.UNITTESTS_APPSETTINGS_DEVELOPMENT }}"
59+
["./TELBlazor.Components.ShowCase.WasmStaticClient/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT }}"
60+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT }}"
61+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/appsettings.Development.json"]="${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}"
62+
)
63+
64+
for path in "${!paths[@]}"; do
65+
mkdir -p "$(dirname "$path")"
66+
printf '%s' "${paths[$path]}" > "$path"
67+
done
68+
5569
- name: Clean lock files because the newly generated package file will superseed the locks
5670
run: |
5771
find . -name "packages.lock.json" -type f -exec rm -f {} \;
@@ -152,7 +166,21 @@ jobs:
152166

153167
- name: Replace local environment variable in nuget config because cant provide it as a parameter
154168
run: sed -i "s|%TELBlazorPackageSource%|$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH|g" nuget.config
155-
169+
170+
- name: Create appsettings development from secrets
171+
run: |
172+
declare -A paths=(
173+
["./TELBlazor.Components.UnitTests/appsettings.Development.json"]="${{ secrets.UNITTESTS_APPSETTINGS_DEVELOPMENT }}"
174+
["./TELBlazor.Components.ShowCase.WasmStaticClient/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT }}"
175+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT }}"
176+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/appsettings.Development.json"]="${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}"
177+
)
178+
179+
for path in "${!paths[@]}"; do
180+
mkdir -p "$(dirname "$path")"
181+
printf '%s' "${paths[$path]}" > "$path"
182+
done
183+
156184
- name: Clean lock files because the newly generated package file will superseed the locks
157185
run: |
158186
find . -name "packages.lock.json" -type f -exec rm -f {} \;
@@ -222,6 +250,20 @@ jobs:
222250
- name: Clean lock files because the newly generated package file will superseed the locks
223251
run: |
224252
find . -name "packages.lock.json" -type f -exec rm -f {} \;
253+
254+
- name: Create appsettings development from secrets
255+
run: |
256+
declare -A paths=(
257+
["./TELBlazor.Components.UnitTests/appsettings.Development.json"]="${{ secrets.UNITTESTS_APPSETTINGS_DEVELOPMENT }}"
258+
["./TELBlazor.Components.ShowCase.WasmStaticClient/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT }}"
259+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/wwwroot/appsettings.Development.json"]="${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT }}"
260+
["./TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/appsettings.Development.json"]="${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}"
261+
)
262+
263+
for path in "${!paths[@]}"; do
264+
mkdir -p "$(dirname "$path")"
265+
printf '%s' "${paths[$path]}" > "$path"
266+
done
225267
226268
- name: Set up Node.js so we have gulp for retrieving TEL Frontend Css
227269
uses: actions/setup-node@v4
@@ -264,9 +306,7 @@ jobs:
264306

265307
- name: E2E tests excepted filtered
266308
run: dotnet test --filter "Category!=LocalOnly & Category!=HeadlessFalse" TELBlazor.Components.ShowCase.E2ETests.csproj --no-restore --verbosity minimal
267-
working-directory: ./TELBlazor.Components.ShowCase.E2ETests
268-
env:
269-
ASPNETCORE_ENVIRONMENT: ci
309+
working-directory: ./TELBlazor.Components.ShowCase.E2ETests
270310

271311

272312

PackageSettings.props

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616

1717
<E2ETracingEnabled Condition="'$(E2ETracingEnabled)' == ''">false</E2ETracingEnabled>
1818
<E2ETracingEnabled Condition="'$(E2ETracingEnabled)' != ''">$(E2ETracingEnabled)</E2ETracingEnabled>
19+
<HeadlessTesting Condition="'$(E2ETracingEnabled)' == ''">true</HeadlessTesting>
20+
<HeadlessTesting Condition="'$(E2ETracingEnabled)' != ''">$(HeadlessTesting)</HeadlessTesting>
21+
22+
1923
</PropertyGroup>
2024

2125
</Project>

TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/Program.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@
2828

2929
var builder = WebAssemblyHostBuilder.CreateDefault(args);
3030

31-
32-
builder.Configuration.AddJsonFile($"appsettings.{builder.HostEnvironment.Environment}.json", optional: false, reloadOnChange: true);
31+
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Development";
32+
Console.WriteLine($"!!!!!!!! !!!!!!!!!!!!!!! !!!!!!!!!!!!! !!!!!!!!!!!! client qqqqEnvironment: {Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}");
33+
builder.Configuration.AddJsonFile($"appsettings.{environment}.json", optional: false, reloadOnChange: true);
34+
//builder.Configuration.AddJsonFile($"appsettings.{builder.HostEnvironment.Environment}.json", optional: false, reloadOnChange: true);
3335
//builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
3436
builder.Logging.ClearProviders();
3537
// Read default logging level from configuration

TELBlazor.Components.ShowCase.E2ETests.WasmServerHost/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client/TELBlazor.Components.ShowCase.E2ETests.WasmServerHost.Client.csproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@
88
<StaticWebAssetProjectMode>Default</StaticWebAssetProjectMode>
99
<!--to enable e2e tests-->
1010
<PreserveCompilationContext>true</PreserveCompilationContext>
11+
<Configurations>Debug;Release;ci</Configurations>
1112

1213
</PropertyGroup>
1314
<ItemGroup>
1415
<PackageReference Include="Serilog" />
1516
<PackageReference Include="Serilog.Extensions.Logging" />
1617
<PackageReference Include="Blazored.LocalStorage" />
1718
<PackageReference Include="Microsoft.Extensions.Http" />
18-
<PackageReference Include="Serilog" />
19-
<PackageReference Include="Serilog.Extensions.Logging" />
2019
<PackageReference Include="Serilog.Formatting.Compact" />
2120
<PackageReference Include="Serilog.Settings.Configuration" />
2221
<PackageReference Include="Serilog.Sinks.BrowserConsole" />
@@ -29,5 +28,10 @@
2928
<ItemGroup>
3029
<ProjectReference Include="..\..\TELBlazor.Components.ShowCase.Shared\TELBlazor.Components.ShowCase.Shared.csproj" />
3130
</ItemGroup>
31+
<!--<ItemGroup>
32+
<None Update="appsettings.ci.json">
33+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
34+
</None>
35+
</ItemGroup>-->
3236

3337
</Project>
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,57 @@
11
{
2-
"Logging": {
3-
"LogLevel": {
2+
/*!!! WARNING WE ARE USED TO PRIVATE APPSETTINGS THESE ARE NOT. THEY ARE CLIENTSIDE */
3+
/*!!! WARNING THIS IS IN SOURCE CONTROL IF ADDING A DB USE USERSECRETS */
4+
"APIs": {
5+
},
6+
7+
"Serilog": {
8+
"Using": [
9+
"Serilog.Sinks.BrowserConsole"
10+
],
11+
"MinimumLevel": {
412
"Default": "Information",
5-
"Microsoft.AspNetCore": "Warning"
13+
"Override": {
14+
"Microsoft": "Warning",
15+
"System": "Warning"
16+
}
17+
},
18+
"WriteTo": [
19+
//{
20+
// "Name": "Http",
21+
// "Args": {
22+
// "requestUri": "https://localhost:44350/api/lh-db/logs/InsertLogs",
23+
// "batchPostingLimit": 1000,
24+
// "queueLimitBytes": null,
25+
// "textFormatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact",
26+
// "logEventLevel": "Verbose", // Minimum level for this sink (overrides global if more restrictive)
27+
// "batchSizeLimit": 20, // Send logs in batches of 20
28+
// "period": "00:00:10", // Send logs every 10 seconds (or sooner if batch size is reached)
29+
// "retryInterval": "00:00:30", // Retry sending failed batches after 30 seconds
30+
// "queueLimit": 1000, // Maximum number of queued log events
31+
// "bufferLimit": 500 // Maximum number of buffered log events
32+
// //"requestUriFactory": "Your.Custom.Namespace.CustomRequestUriFactory, Your.Assembly", // Optional: Custom request URI factory (see below)
33+
// //"batchFormatter": "Your.Custom.Namespace.CustomBatchFormatter, Your.Assembly", // Optional: Custom batch formatter (see below)
34+
// // "httpClient": { // Optional: Custom HTTP client configuration
35+
// // "timeout": "00:00:15" // 15-second timeout
36+
// // }
37+
// }
38+
//},
39+
{
40+
"Name": "BrowserConsole",
41+
"Args": {
42+
"formatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact"
43+
}
44+
}
45+
],
46+
"Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId" ],
47+
"Properties": {
48+
"Application": "TELBlazor ShowCase E2E Client",
49+
"Environment": "ci"
650
}
751
},
52+
"Properties": {
53+
"Application": "TELBlazor ShowCase E2E Client",
54+
"Environment": "ci"
55+
},
856
"AllowedHosts": "*"
9-
}
57+
}

0 commit comments

Comments
 (0)