Compare commits

13 Commits

Author SHA1 Message Date
steinhelge f80388351f Update .gitea/workflows/build.yml
Build & Push MinAttest / Wake Zorin (push) Successful in 12s
Build & Push MinAttest / build-and-push (push) Failing after 9m13s
2025-12-16 11:25:00 +00:00
steinhelge 9332f77959 Update .gitea/workflows/build.yml 2025-12-16 11:24:25 +00:00
steinhelge 6353e0c7b3 Update frontend/minattest-app-host/appsettings.Development.json
Build & Push MinAttest / build-and-push (push) Successful in 2m0s
2025-11-27 14:21:40 +00:00
steinhelge 1161717f74 Update frontend/minattest-app-host/appsettings.json
Build & Push MinAttest / build-and-push (push) Has been cancelled
2025-11-27 14:21:15 +00:00
steinhelge b50f928318 Update backend/src/MinAttest.Api/appsettings.json
Build & Push MinAttest / build-and-push (push) Successful in 9m33s
2025-11-27 13:57:57 +00:00
steinhelge 256858f169 Update .gitea/workflows/build.yml
Build & Push MinAttest / build-and-push (push) Successful in 19s
2025-11-27 12:46:50 +00:00
steinhelge fcab8b4a25 Update backend/src/MinAttest.Api/appsettings.json
Build & Push MinAttest / build-and-push (push) Successful in 8m36s
2025-11-27 12:27:10 +00:00
steinhelge fa62efc2e3 Merge pull request 'dev' (#3) from dev into main
Build & Push MinAttest / build-and-push (push) Successful in 17s
Reviewed-on: #3
2025-11-18 20:20:04 +00:00
steinhelge 2fef8bf255 Update .gitea/workflows/build.yml
Build & Push MinAttest / build-and-push (push) Successful in 6m54s
2025-11-18 20:09:15 +00:00
steinhelge 7737dde2ed Update .gitea/workflows/build.yml
Build & Push MinAttest / build-and-push (push) Failing after 21m29s
2025-11-18 12:13:42 +00:00
steinhelge 3a4e8a2f5a Merge pull request 'dev' (#2) from dev into main
Build & Push MinAttest / build-and-push (push) Successful in 5m15s
Reviewed-on: #2
2025-11-17 20:35:47 +00:00
steinhelge 158bd873e2 Endret 9.0.9 til 9.0.11 i build.yml for å oppdatere .NET SDK-versjonen. 2025-11-17 21:27:01 +01:00
steinhelge ffa48d5370 Byggeløype for main og dev i samme fil 2025-11-17 21:25:39 +01:00
13 changed files with 161 additions and 116 deletions
+59 -14
View File
@@ -4,51 +4,96 @@ on:
push:
branches:
- main
- dev
env:
REGISTRY: gitea.theriise.net/steinhelge
REGISTRY_HOST: gitea.theriise.net
REGISTRY_NAMESPACE: steinhelge
IMAGE_NAME: minattest
jobs:
wake-zorin:
name: Wake Zorin
runs-on: waker # t610-waker-runneren med label "waker"
steps:
- name: Wake Zorin via WOL
run: /home/steinhelge/wake-zorin.sh
- name: Vent på at Zorin våkner
run: sleep 10
build-and-push:
runs-on: self-hosted # matcher labelen på runneren din
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
# Finn ut hvilken tag vi skal bruke
- name: Set image tag
run: |
# Gitea prøver å være kompatibel med GitHub Actions
# Noen ganger er GITHUB_REF_NAME bare 'main', andre ganger 'refs/heads/main'
REF="${GITHUB_REF_NAME:-$GITHUB_REF}"
REF="${REF#refs/heads/}"
if [ "$REF" = "main" ]; then
TAG="latest"
elif [ "$REF" = "dev" ]; then
TAG="dev"
else
# fallback: bruk branchnavnet som tag, men uten skråstreker
TAG="$(echo "$REF" | tr '/' '-')"
fi
echo "Bygger med TAG=$TAG"
echo "TAG=$TAG" >> $GITHUB_ENV
- name: Log in to Gitea Container Registry
run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login gitea.theriise.net -u steinhelge --password-stdin
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login $REGISTRY -u steinhelge --password-stdin
# ---------- Frontend ----------
- name: Build Frontend
- name: Build Frontend (${{ env.TAG }})
run: |
docker build \
-t gitea.theriise.net/steinhelge/minattest-frontend:latest \
-t $REGISTRY/minattest-frontend:${TAG} \
-f frontend/minattest-app/Dockerfile \
frontend/minattest-app
- name: Push Frontend
- name: Push Frontend (${{ env.TAG }})
run: |
docker push gitea.theriise.net/steinhelge/minattest-frontend:latest
docker push $REGISTRY/minattest-frontend:${TAG}
# ---------- Backend API ----------
- name: Build API
- name: Build API (${{ env.TAG }})
run: |
docker build \
-t gitea.theriise.net/steinhelge/minattest-api:latest \
-t $REGISTRY/minattest-api:${TAG} \
-f backend/Dockerfile \
backend
- name: Push API
- name: Push API (${{ env.TAG }})
run: |
docker push gitea.theriise.net/steinhelge/minattest-api:latest
docker push $REGISTRY/minattest-api:${TAG}
# ---------- App Host / BFF ----------
- name: Build App Host
- name: Build App Host (${{ env.TAG }})
run: |
docker build \
-t gitea.theriise.net/steinhelge/minattest-app-host:latest \
-t $REGISTRY/minattest-app-host:${TAG} \
-f frontend/minattest-app-host/Dockerfile \
frontend/minattest-app-host
- name: Push App Host
- name: Push App Host (${{ env.TAG }})
run: |
docker push gitea.theriise.net/steinhelge/minattest-app-host:latest
docker push $REGISTRY/minattest-app-host:${TAG}
- name: Deploy (docker compose pull + up)
run: |
cd /srv/minattest # ← Endre denne pathen hvis compose ligger et annet sted
docker compose pull
docker compose up -d
+1 -1
View File
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "9.0.9",
"version": "9.0.11",
"commands": [
"dotnet-ef"
],
+9 -9
View File
@@ -1,9 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
@@ -8,7 +8,7 @@
<PackageReference Include="MediatR" Version="12.*" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.*" />
<PackageReference Include="FluentValidation" Version="12.*" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.9" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.11" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MinAttest.Domain\MinAttest.Domain.csproj" />
@@ -20,7 +20,7 @@ namespace MinAttest.Infrastructure.Data.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.9")
.HasAnnotation("ProductVersion", "9.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@@ -20,7 +20,7 @@ namespace MinAttest.Infrastructure.Data.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.9")
.HasAnnotation("ProductVersion", "9.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@@ -20,7 +20,7 @@ namespace MinAttest.Infrastructure.Data.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.9")
.HasAnnotation("ProductVersion", "9.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@@ -20,7 +20,7 @@ namespace MinAttest.Infrastructure.Data.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.9")
.HasAnnotation("ProductVersion", "9.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@@ -20,7 +20,7 @@ namespace MinAttest.Infrastructure.Data.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.9")
.HasAnnotation("ProductVersion", "9.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@@ -17,7 +17,7 @@ namespace MinAttest.Infrastructure.Data.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.9")
.HasAnnotation("ProductVersion", "9.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@@ -12,9 +12,9 @@
<PackageReference Include="xunit.runner.visualstudio" Version="2.*" />
<PackageReference Include="FluentAssertions" Version="8.*" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.*" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.9" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.9" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.9" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.11" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.11" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.11" />
<PackageReference Include="Azure.Core" Version="1.48.0" />
<PackageReference Include="Testcontainers" Version="4.*" />
<PackageReference Include="Testcontainers.MsSql" Version="4.*" />
@@ -1,42 +1,42 @@
{
"Serilog": {
"Using": [ "Serilog.Sinks.Console" ],
"MinimumLevel": {
"Default": "Verbose",
"Override": {
"Microsoft": "Information",
"System": "Information"
}
},
"WriteTo": [
{
"Name": "Console",
"Args": {
"theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Literate, Serilog.Sinks.Console",
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}|{RequestId}] {Message:lj} <s:{SourceContext}>{NewLine}{Exception}"
}
}
],
"Enrich": [ "FromLogContext" ]
},
"ReverseProxy": {
"Routes": {
"userApiRoute": {
"ClusterId": "clusterUser",
"Match": {
"Path": "/api/{**catch-all}"
}
}
},
"Clusters": {
"clusterUser": {
"Destinations": {
"destination1": {
"Address": "https://localhost:7172/"
}
}
}
}
},
"AllowedHosts": "*"
{
"Serilog": {
"Using": [ "Serilog.Sinks.Console" ],
"MinimumLevel": {
"Default": "Verbose",
"Override": {
"Microsoft": "Information",
"System": "Information"
}
},
"WriteTo": [
{
"Name": "Console",
"Args": {
"theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Literate, Serilog.Sinks.Console",
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}|{RequestId}] {Message:lj} <s:{SourceContext}>{NewLine}{Exception}"
}
}
],
"Enrich": [ "FromLogContext" ]
},
"ReverseProxy": {
"Routes": {
"userApiRoute": {
"ClusterId": "clusterUser",
"Match": {
"Path": "/api/{**catch-all}"
}
}
},
"Clusters": {
"clusterUser": {
"Destinations": {
"destination1": {
"Address": "http://backend-api:8080/"
}
}
}
}
},
"AllowedHosts": "*"
}
+41 -41
View File
@@ -1,42 +1,42 @@
{
"Serilog": {
"Using": [ "Serilog.Sinks.Console" ],
"MinimumLevel": {
"Default": "Verbose",
"Override": {
"Microsoft": "Information",
"System": "Information"
}
},
"WriteTo": [
{
"Name": "Console",
"Args": {
"theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Literate, Serilog.Sinks.Console",
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}|{RequestId}] {Message:lj} <s:{SourceContext}>{NewLine}{Exception}"
}
}
],
"Enrich": [ "FromLogContext" ]
},
"ReverseProxy": {
"Routes": {
"userApiRoute": {
"ClusterId": "clusterUser",
"Match": {
"Path": "/api/{**catch-all}"
}
}
},
"Clusters": {
"clusterUser": {
"Destinations": {
"destination1": {
"Address": "https://localhost:7172/"
}
}
}
}
},
"AllowedHosts": "*"
{
"Serilog": {
"Using": [ "Serilog.Sinks.Console" ],
"MinimumLevel": {
"Default": "Verbose",
"Override": {
"Microsoft": "Information",
"System": "Information"
}
},
"WriteTo": [
{
"Name": "Console",
"Args": {
"theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Literate, Serilog.Sinks.Console",
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}|{RequestId}] {Message:lj} <s:{SourceContext}>{NewLine}{Exception}"
}
}
],
"Enrich": [ "FromLogContext" ]
},
"ReverseProxy": {
"Routes": {
"userApiRoute": {
"ClusterId": "clusterUser",
"Match": {
"Path": "/api/{**catch-all}"
}
}
},
"Clusters": {
"clusterUser": {
"Destinations": {
"destination1": {
"Address": "http://backend-api:8080/"
}
}
}
}
},
"AllowedHosts": "*"
}