Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/workflows/backend-format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: backend-format

permissions:
contents: read
pull-requests: read

on:
push:
branches: ["*"]
paths:
- ".github/workflows/backend-format.yml"
- "Backend/**"
pull_request:
branches: ["*"]
paths:
- "Backend/**"

jobs:
check_formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- run: |
dotnet tool restore
dotnet csharpier check .
working-directory: Backend/
64 changes: 32 additions & 32 deletions .github/workflows/backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,45 +6,45 @@ permissions:

on:
push:
branches: [ "*" ]
branches: ["*"]
paths:
- '.github/workflows/backend.yml'
- 'Backend/**'
- ".github/workflows/backend.yml"
- "Backend/**"
pull_request:
branches: [ "*" ]
branches: ["*"]
paths:
- 'Backend/**'
- "Backend/**"

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- uses: actions/checkout@v4
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true

- name: Cache Rust
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
Backend/Altafraner.Typst/typst_with_bindings/target
key: rust-${{ runner.os }}-${{ hashFiles('Backend/**/Cargo.lock') }}
restore-keys: |
rust-${{ runner.os }}-
- name: Cache Rust
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
Backend/Altafraner.Typst/typst_with_bindings/target
key: rust-${{ runner.os }}-${{ hashFiles('Backend/**/Cargo.lock') }}
restore-keys: |
rust-${{ runner.os }}-

- name: Build Rust bindings
working-directory: Backend/Altafraner.Typst/typst_with_bindings
run: cargo build --release
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore Backend/Altafraner.AfraApp/Altafraner.AfraApp.csproj
- name: Build
run: dotnet build --no-restore Backend/Altafraner.AfraApp/Altafraner.AfraApp.csproj
- name: Build Rust bindings
working-directory: Backend/Altafraner.Typst/typst_with_bindings
run: cargo build --release
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore Backend/Altafraner.AfraApp/Altafraner.AfraApp.csproj
- name: Build
run: dotnet build --no-restore Backend/Altafraner.AfraApp/Altafraner.AfraApp.csproj
4 changes: 2 additions & 2 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ permissions:

on:
push:
branches: [ "main" ]
branches: ["main"]
pull_request:
branches: [ "main" ]
branches: ["main"]

env:
REGISTRY: ghcr.io
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/webclient-format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: webclient-format

permissions:
contents: read
pull-requests: read

on:
push:
branches: ["*"]
paths:
- ".github/workflows/webclient-format.yml"
- "WebClient/**"
pull_request:
branches: ["*"]
paths:
- "WebClient/**"

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install dependencies
working-directory: ./WebClient
run: npm install
- name: Check formatting
working-directory: ./WebClient
run: npx prettier --check .
31 changes: 16 additions & 15 deletions .github/workflows/webclient.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,27 @@ permissions:

on:
push:
branches: [ "*" ]
branches: ["*"]
paths:
- 'WebClient/**'
- ".github/workflows/webclient.yml"
- "WebClient/**"
pull_request:
branches: [ "*" ]
branches: ["*"]
paths:
- 'WebClient/**'
- "WebClient/**"

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install dependencies
working-directory: ./WebClient
run: npm install
- name: Build
working-directory: ./WebClient
run: npm run build
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install dependencies
working-directory: ./WebClient
run: npm install
- name: Build
working-directory: ./WebClient
run: npm run build
12 changes: 12 additions & 0 deletions Backend/.config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"csharpier": {
"version": "1.2.5",
"commands": [
"csharpier"
]
}
}
}
48 changes: 33 additions & 15 deletions Backend/Afra-App.slnx
Original file line number Diff line number Diff line change
@@ -1,17 +1,35 @@
<Solution>
<Folder Name="/Solution Items/">
<File Path="../compose.yaml" />
</Folder>
<Project Path="Altafraner.AfraApp\Altafraner.AfraApp.csproj" Type="C#" />
<Project Path="Altafraner.Typst.Generator/Altafraner.Typst.Generator.csproj" />
<Project Path="Altafraner.Typst\Altafraner.Typst.csproj" Type="C#" />
<Project Path="Altafraner.Backbone.Abstractions\Altafraner.Backbone.Abstractions.csproj" Type="C#" />
<Project Path="Altafraner.Backbone.CookieAuthentication\Altafraner.Backbone.CookieAuthentication.csproj" Type="C#" />
<Project Path="Altafraner.Backbone.DataProtection\Altafraner.Backbone.DataProtection.csproj" Type="C#" />
<Project Path="Altafraner.Backbone.Defaults\Altafraner.Backbone.Defaults.csproj" Type="C#" />
<Project Path="Altafraner.Backbone.EmailOutbox\Altafraner.Backbone.EmailOutbox.csproj" Type="C#" />
<Project Path="Altafraner.Backbone.EmailSchedulingModule\Altafraner.Backbone.EmailSchedulingModule.csproj" Type="C#" />
<Project Path="Altafraner.Backbone.Scheduling\Altafraner.Backbone.Scheduling.csproj" Type="C#" />
<Project Path="Altafraner.Backbone.Utils\Altafraner.Backbone.Utils.csproj" Type="C#" />
<Project Path="Altafraner.Backbone\Altafraner.Backbone.csproj" Type="C#" />
<Folder Name="/Solution Items/">
<File Path="../compose.yaml" />
</Folder>
<Project Path="Altafraner.AfraApp\Altafraner.AfraApp.csproj" Type="C#" />
<Project Path="Altafraner.Typst.Generator/Altafraner.Typst.Generator.csproj" />
<Project Path="Altafraner.Typst\Altafraner.Typst.csproj" Type="C#" />
<Project
Path="Altafraner.Backbone.Abstractions\Altafraner.Backbone.Abstractions.csproj"
Type="C#"
/>
<Project
Path="Altafraner.Backbone.CookieAuthentication\Altafraner.Backbone.CookieAuthentication.csproj"
Type="C#"
/>
<Project
Path="Altafraner.Backbone.DataProtection\Altafraner.Backbone.DataProtection.csproj"
Type="C#"
/>
<Project Path="Altafraner.Backbone.Defaults\Altafraner.Backbone.Defaults.csproj" Type="C#" />
<Project
Path="Altafraner.Backbone.EmailOutbox\Altafraner.Backbone.EmailOutbox.csproj"
Type="C#"
/>
<Project
Path="Altafraner.Backbone.EmailSchedulingModule\Altafraner.Backbone.EmailSchedulingModule.csproj"
Type="C#"
/>
<Project
Path="Altafraner.Backbone.Scheduling\Altafraner.Backbone.Scheduling.csproj"
Type="C#"
/>
<Project Path="Altafraner.Backbone.Utils\Altafraner.Backbone.Utils.csproj" Type="C#" />
<Project Path="Altafraner.Backbone\Altafraner.Backbone.csproj" Type="C#" />
</Solution>
67 changes: 34 additions & 33 deletions Backend/Altafraner.AfraApp/Altafraner.AfraApp.csproj
Original file line number Diff line number Diff line change
@@ -1,34 +1,33 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<RootNamespace>Altafraner.AfraApp</RootNamespace>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Ical.Net"/>
<PackageReference Include="MailKit"/>
<PackageReference Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore"/>
<PackageReference Include="Bogus"/>
<PackageReference Include="Microsoft.AspNetCore.OpenApi"/>
<PackageReference Include="Microsoft.EntityFrameworkCore"/>
<PackageReference Include="Ical.Net" />
<PackageReference Include="MailKit" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" />
<PackageReference Include="Bogus" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
<PackageReference Include="Microsoft.EntityFrameworkCore" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Caching.Hybrid"/>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL"/>
<PackageReference Include="OpenTelemetry.Exporter.Prometheus.AspNetCore"/>
<PackageReference Include="OpenTelemetry.Extensions.Hosting"/>
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore"/>
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime"/>
<PackageReference Include="Quartz"/>
<PackageReference Include="Quartz.AspNetCore"/>
<PackageReference Include="Quartz.Serialization.SystemTextJson"/>
<PackageReference Include="Swashbuckle.AspNetCore"/>
<PackageReference Include="System.DirectoryServices.Protocols"/>
<PackageReference Include="Google.OrTools"/>
<PackageReference Include="Microsoft.CodeAnalysis.Common"/>
<PackageReference Include="Microsoft.Extensions.Caching.Hybrid" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
<PackageReference Include="OpenTelemetry.Exporter.Prometheus.AspNetCore" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" />
<PackageReference Include="Quartz" />
<PackageReference Include="Quartz.AspNetCore" />
<PackageReference Include="Quartz.Serialization.SystemTextJson" />
<PackageReference Include="Swashbuckle.AspNetCore" />
<PackageReference Include="System.DirectoryServices.Protocols" />
<PackageReference Include="Google.OrTools" />
<PackageReference Include="Microsoft.CodeAnalysis.Common" />
</ItemGroup>

<ItemGroup>
Expand All @@ -38,24 +37,26 @@
</ItemGroup>

<ItemGroup>
<Folder Include="Typst\"/>
<Folder Include="Typst\" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Altafraner.Backbone.CookieAuthentication\Altafraner.Backbone.CookieAuthentication.csproj"/>
<ProjectReference Include="..\Altafraner.Backbone.DataProtection\Altafraner.Backbone.DataProtection.csproj"/>
<ProjectReference Include="..\Altafraner.Backbone.Utils\Altafraner.Backbone.Utils.csproj"/>
<ProjectReference Include="..\Altafraner.Backbone.EmailOutbox\Altafraner.Backbone.EmailOutbox.csproj"/>
<ProjectReference Include="..\Altafraner.Backbone.Defaults\Altafraner.Backbone.Defaults.csproj"/>
<ProjectReference Include="..\Altafraner.Backbone.EmailSchedulingModule\Altafraner.Backbone.EmailSchedulingModule.csproj"/>
<ProjectReference Include="..\Altafraner.Backbone\Altafraner.Backbone.csproj"/>
<ProjectReference Include="..\Altafraner.Typst\Altafraner.Typst.csproj"/>
<ProjectReference Include="..\Altafraner.Typst.Generator\Altafraner.Typst.Generator.csproj" OutputItemType="Analyzer"/>
<ProjectReference Include="..\Altafraner.Backbone.CookieAuthentication\Altafraner.Backbone.CookieAuthentication.csproj" />
<ProjectReference Include="..\Altafraner.Backbone.DataProtection\Altafraner.Backbone.DataProtection.csproj" />
<ProjectReference Include="..\Altafraner.Backbone.Utils\Altafraner.Backbone.Utils.csproj" />
<ProjectReference Include="..\Altafraner.Backbone.EmailOutbox\Altafraner.Backbone.EmailOutbox.csproj" />
<ProjectReference Include="..\Altafraner.Backbone.Defaults\Altafraner.Backbone.Defaults.csproj" />
<ProjectReference Include="..\Altafraner.Backbone.EmailSchedulingModule\Altafraner.Backbone.EmailSchedulingModule.csproj" />
<ProjectReference Include="..\Altafraner.Backbone\Altafraner.Backbone.csproj" />
<ProjectReference Include="..\Altafraner.Typst\Altafraner.Typst.csproj" />
<ProjectReference
Include="..\Altafraner.Typst.Generator\Altafraner.Typst.Generator.csproj"
OutputItemType="Analyzer"
/>
</ItemGroup>

<ItemGroup>
<AdditionalFiles Include="Typst/**/*.typ"/>
<UpToDateCheckInput Include="Typst/**/*.typ"/>
<AdditionalFiles Include="Typst/**/*.typ" />
<UpToDateCheckInput Include="Typst/**/*.typ" />
</ItemGroup>

</Project>
Loading
Loading