Skip to content

Commit cad2e09

Browse files
CopilotPhantomDave
andcommitted
Create separate workflows for backend and frontend build and lint
Co-authored-by: PhantomDave <34485699+PhantomDave@users.noreply.github.com>
1 parent 411a3a4 commit cad2e09

9 files changed

Lines changed: 166 additions & 7 deletions

File tree

.github/workflows/backend-api.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Backend API - Build and Lint
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
paths:
7+
- 'PhantomDave.BankTracking.Api/**'
8+
- 'PhantomDave.BankTracking.Library/**'
9+
- 'PhantomDave.BankTracking.sln'
10+
- '.github/workflows/backend-api.yml'
11+
pull_request:
12+
branches: [ main, develop ]
13+
paths:
14+
- 'PhantomDave.BankTracking.Api/**'
15+
- 'PhantomDave.BankTracking.Library/**'
16+
- 'PhantomDave.BankTracking.sln'
17+
- '.github/workflows/backend-api.yml'
18+
19+
jobs:
20+
build-and-lint:
21+
name: Build and Lint Backend API
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
- name: Checkout code
26+
uses: actions/checkout@v4
27+
28+
- name: Setup .NET
29+
uses: actions/setup-dotnet@v4
30+
with:
31+
dotnet-version: '9.0.x'
32+
33+
- name: Restore dependencies
34+
run: dotnet restore PhantomDave.BankTracking.Api/PhantomDave.BankTracking.Api.csproj
35+
36+
- name: Check code formatting
37+
run: dotnet format PhantomDave.BankTracking.Api/PhantomDave.BankTracking.Api.csproj --verify-no-changes --verbosity diagnostic
38+
39+
- name: Build
40+
run: dotnet build PhantomDave.BankTracking.Api/PhantomDave.BankTracking.Api.csproj --configuration Release --no-restore

.github/workflows/backend-data.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Backend Data - Build and Lint
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
paths:
7+
- 'PhantomDave.BankTracking.Data/**'
8+
- 'PhantomDave.BankTracking.Library/**'
9+
- 'PhantomDave.BankTracking.sln'
10+
- '.github/workflows/backend-data.yml'
11+
pull_request:
12+
branches: [ main, develop ]
13+
paths:
14+
- 'PhantomDave.BankTracking.Data/**'
15+
- 'PhantomDave.BankTracking.Library/**'
16+
- 'PhantomDave.BankTracking.sln'
17+
- '.github/workflows/backend-data.yml'
18+
19+
jobs:
20+
build-and-lint:
21+
name: Build and Lint Backend Data
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
- name: Checkout code
26+
uses: actions/checkout@v4
27+
28+
- name: Setup .NET
29+
uses: actions/setup-dotnet@v4
30+
with:
31+
dotnet-version: '9.0.x'
32+
33+
- name: Restore dependencies
34+
run: dotnet restore PhantomDave.BankTracking.Data/PhantomDave.BankTracking.Data.csproj
35+
36+
- name: Check code formatting
37+
run: dotnet format PhantomDave.BankTracking.Data/PhantomDave.BankTracking.Data.csproj --verify-no-changes --verbosity diagnostic
38+
39+
- name: Build
40+
run: dotnet build PhantomDave.BankTracking.Data/PhantomDave.BankTracking.Data.csproj --configuration Release --no-restore
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Backend Library - Build and Lint
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
paths:
7+
- 'PhantomDave.BankTracking.Library/**'
8+
- 'PhantomDave.BankTracking.sln'
9+
- '.github/workflows/backend-library.yml'
10+
pull_request:
11+
branches: [ main, develop ]
12+
paths:
13+
- 'PhantomDave.BankTracking.Library/**'
14+
- 'PhantomDave.BankTracking.sln'
15+
- '.github/workflows/backend-library.yml'
16+
17+
jobs:
18+
build-and-lint:
19+
name: Build and Lint Backend Library
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v4
25+
26+
- name: Setup .NET
27+
uses: actions/setup-dotnet@v4
28+
with:
29+
dotnet-version: '9.0.x'
30+
31+
- name: Restore dependencies
32+
run: dotnet restore PhantomDave.BankTracking.Library/PhantomDave.BankTracking.Library.csproj
33+
34+
- name: Check code formatting
35+
run: dotnet format PhantomDave.BankTracking.Library/PhantomDave.BankTracking.Library.csproj --verify-no-changes --verbosity diagnostic
36+
37+
- name: Build
38+
run: dotnet build PhantomDave.BankTracking.Library/PhantomDave.BankTracking.Library.csproj --configuration Release --no-restore

.github/workflows/frontend.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Frontend - Build and Lint
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
paths:
7+
- 'frontend/**'
8+
- '.github/workflows/frontend.yml'
9+
pull_request:
10+
branches: [ main, develop ]
11+
paths:
12+
- 'frontend/**'
13+
- '.github/workflows/frontend.yml'
14+
15+
jobs:
16+
build-and-lint:
17+
name: Build and Lint Frontend
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Node.js
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: '20'
28+
cache: 'npm'
29+
cache-dependency-path: frontend/package-lock.json
30+
31+
- name: Install dependencies
32+
working-directory: ./frontend
33+
run: npm ci
34+
35+
- name: Check TypeScript compilation
36+
working-directory: ./frontend
37+
run: npx tsc --noEmit
38+
39+
- name: Build
40+
working-directory: ./frontend
41+
run: npm run build -- --configuration=development

PhantomDave.BankTracking.Api/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public static void Main(string[] args)
1111
{
1212
var builder = WebApplication.CreateBuilder(args);
1313

14-
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection")
14+
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection")
1515
?? throw new InvalidOperationException("Connection string 'DefaultConnection' not configured.");
1616
builder.Services.AddDataAccess(connectionString);
1717

PhantomDave.BankTracking.Api/Services/AccountService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ private async Task<bool> IsEmailAlreadyPresent(string email)
3737

3838
if (await IsEmailAlreadyPresent(email))
3939
return null;
40-
40+
4141
var account = new Account
4242
{
4343
Email = email,
@@ -65,7 +65,7 @@ private async Task<bool> IsEmailAlreadyPresent(string email)
6565
await _unitOfWork.SaveChangesAsync();
6666
return account;
6767
}
68-
68+
6969
private static string HashPassword(string password)
7070
{
7171
const int iterations = 100_000;
@@ -74,7 +74,7 @@ private static string HashPassword(string password)
7474

7575
var salt = RandomNumberGenerator.GetBytes(saltSize);
7676
var hash = Rfc2898DeriveBytes.Pbkdf2(password, salt, iterations, HashAlgorithmName.SHA256, keySize);
77-
77+
7878
return $"PBKDF2-SHA256${iterations}${Convert.ToBase64String(salt)}${Convert.ToBase64String(hash)}";
7979
}
8080

PhantomDave.BankTracking.Api/Types/Mutations/AccountMutations.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public async Task<AccountType> CreateAccount(
2727
.SetExtension("reason", "required")
2828
.Build());
2929
}
30-
30+
3131
if (string.IsNullOrWhiteSpace(password))
3232
{
3333
throw new GraphQLException(

PhantomDave.BankTracking.Data/Context/BankTrackerDbContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace PhantomDave.BankTracking.Data.Context;
55

66
public class BankTrackerDbContext : DbContext
77
{
8-
public BankTrackerDbContext(DbContextOptions<BankTrackerDbContext> options)
8+
public BankTrackerDbContext(DbContextOptions<BankTrackerDbContext> options)
99
: base(options)
1010
{
1111
}

PhantomDave.BankTracking.Data/Repositories/IRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public async Task SaveAsync()
6161
{
6262
await _context.SaveChangesAsync();
6363
}
64-
64+
6565
public async Task<T?> GetSingleOrDefaultAsync(Func<T, bool> predicate)
6666
{
6767
return await _context.FindAsync<T>(predicate);

0 commit comments

Comments
 (0)