Skip to content
Merged
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
56 changes: 56 additions & 0 deletions .github/workflows/docker-publish-alpha.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Build and Push Alpha Docker Images

on:
push:
branches: [ v-next ]
workflow_dispatch:

env:
REGISTRY: docker.io
API_IMAGE_NAME: fboucher/notebookmark-api
BLAZOR_IMAGE_NAME: fboucher/notebookmark-blazor

jobs:
build-and-push-alpha:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Read version from Directory.Build.props
id: get-version
run: |
VERSION=$(grep -oPm1 "(?<=<Version>)[^<]+" Directory.Build.props)
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Found version: $VERSION"

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build and push API Docker image
uses: docker/build-push-action@v5
with:
context: .
file: ./src/NoteBookmark.Api/Dockerfile
push: true
tags: |
${{ env.REGISTRY }}/${{ env.API_IMAGE_NAME }}:v${{ steps.get-version.outputs.version }}-alpha.${{ github.run_number }}
${{ env.REGISTRY }}/${{ env.API_IMAGE_NAME }}:alpha-latest

- name: Build and push Blazor App Docker image
uses: docker/build-push-action@v5
with:
context: .
file: ./src/NoteBookmark.BlazorApp/Dockerfile
push: true
tags: |
${{ env.REGISTRY }}/${{ env.BLAZOR_IMAGE_NAME }}:v${{ steps.get-version.outputs.version }}-alpha.${{ github.run_number }}
${{ env.REGISTRY }}/${{ env.BLAZOR_IMAGE_NAME }}:alpha-latest
24 changes: 10 additions & 14 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ name: Build and Push Docker Images

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
tags:
- 'v*'
workflow_dispatch:

env:
Expand All @@ -24,7 +23,6 @@ jobs:
uses: actions/checkout@v4

- name: Log in to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
Expand All @@ -37,28 +35,26 @@ jobs:
with:
images: ${{ env.REGISTRY }}/${{ env.API_IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=sha
type=raw,value=latest,enable={{is_default_branch}}
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=raw,value=latest

- name: Extract metadata for Blazor App
id: meta-blazor
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.BLAZOR_IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=sha
type=raw,value=latest,enable={{is_default_branch}}
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=raw,value=latest

- name: Build and push API Docker image
uses: docker/build-push-action@v5
with:
context: .
file: ./src/NoteBookmark.Api/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
push: true
tags: ${{ steps.meta-api.outputs.tags }}
labels: ${{ steps.meta-api.outputs.labels }}

Expand All @@ -67,6 +63,6 @@ jobs:
with:
context: .
file: ./src/NoteBookmark.BlazorApp/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
push: true
tags: ${{ steps.meta-blazor.outputs.tags }}
labels: ${{ steps.meta-blazor.outputs.labels }}
9 changes: 9 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<Project>
<PropertyGroup>
<Version>1.1.2</Version>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
</Project>
48 changes: 48 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<Project>
<ItemGroup>
<!-- Aspire packages -->
<PackageVersion Include="Aspire.Hosting.AppHost" Version="13.0.2" />
<PackageVersion Include="Aspire.Hosting.Azure.Storage" Version="13.0.2" />
<PackageVersion Include="Aspire.Hosting.Docker" Version="13.0.2-preview.1.25603.5" />
<PackageVersion Include="Aspire.Azure.Data.Tables" Version="13.0.2" />
<PackageVersion Include="Aspire.Azure.Storage.Blobs" Version="13.0.2" />

<!-- Azure packages -->
<PackageVersion Include="Azure.Data.Tables" Version="12.11.0" />
<PackageVersion Include="Azure.Storage.Blobs" Version="12.26.0" />

<!-- Microsoft packages -->
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="9.0.10" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.0-rc.2.25502.107" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="9.10.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="9.5.2" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.13.0" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components.Icons" Version="4.13.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />

<!-- OpenTelemetry packages -->
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.13.1" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.13.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.13.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.13.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.13.0" />

<!-- Other packages -->
<PackageVersion Include="HtmlAgilityPack" Version="1.12.4" />
<PackageVersion Include="Markdig" Version="0.43.0" />
<PackageVersion Include="Reka.SDK" Version="0.1.0" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="9.0.6" />
<PackageVersion Include="System.Text.Json" Version="9.0.10" />

<!-- Test packages -->
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
<PackageVersion Include="FluentAssertions" Version="8.8.0" />
<PackageVersion Include="Moq" Version="4.20.72" />
<PackageVersion Include="Testcontainers.Azurite" Version="4.8.1" />
<PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>
</Project>
12 changes: 3 additions & 9 deletions src/NoteBookmark.AIServices/NoteBookmark.AIServices.csproj
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.0-rc.2.25502.107" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.10" />
<PackageReference Include="Reka.SDK" Version="0.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
<PackageReference Include="Microsoft.Extensions.Logging" />
<PackageReference Include="Reka.SDK" />
</ItemGroup>

<ItemGroup>
Expand Down
25 changes: 11 additions & 14 deletions src/NoteBookmark.Api.Tests/NoteBookmark.Api.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,31 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4">
<PackageReference Include="coverlet.collector">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="FluentAssertions" Version="8.8.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.10" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.10" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
<PackageReference Include="Moq" Version="4.20.72" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<PackageReference Include="FluentAssertions" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="Moq" />
<PackageReference Include="xunit" />
<PackageReference Include="xunit.runner.visualstudio">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Azure.Data.Tables" Version="12.11.0" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.26.0" />
<PackageReference Include="Testcontainers.Azurite" Version="4.8.1" />
<PackageReference Include="Azure.Data.Tables" />
<PackageReference Include="Azure.Storage.Blobs" />
<PackageReference Include="Testcontainers.Azurite" />
</ItemGroup>

<ItemGroup>
Expand Down
22 changes: 8 additions & 14 deletions src/NoteBookmark.Api/NoteBookmark.Api.csproj
Original file line number Diff line number Diff line change
@@ -1,20 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Aspire.Azure.Data.Tables" Version="13.0.2" />
<PackageReference Include="Aspire.Azure.Storage.Blobs" Version="13.0.2" />
<PackageReference Include="Azure.Data.Tables" Version="12.11.0" />
<PackageReference Include="Azure.Storage.Blobs" Version="12.26.0" />
<PackageReference Include="HtmlAgilityPack" Version="1.12.4" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.10" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="9.0.6" />
<PackageReference Include="System.Text.Json" Version="9.0.10" />
<PackageReference Include="Aspire.Azure.Data.Tables" />
<PackageReference Include="Aspire.Azure.Storage.Blobs" />
<PackageReference Include="Azure.Data.Tables" />
<PackageReference Include="Azure.Storage.Blobs" />
<PackageReference Include="HtmlAgilityPack" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
<PackageReference Include="Swashbuckle.AspNetCore" />
<PackageReference Include="System.Text.Json" />
</ItemGroup>

<ItemGroup>
Expand Down
9 changes: 3 additions & 6 deletions src/NoteBookmark.AppHost/NoteBookmark.AppHost.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@
<Sdk Name="Aspire.AppHost.Sdk" Version="13.0.2" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>0784f0a9-b1e6-4e65-8d31-00f1369f6d75</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.0.2" />
<PackageReference Include="Aspire.Hosting.Azure.Storage" Version="13.0.2" />
<PackageReference Include="Aspire.Hosting.Docker" Version="13.0.2-preview.1.25603.5" />
<PackageReference Include="Aspire.Hosting.AppHost" />
<PackageReference Include="Aspire.Hosting.Azure.Storage" />
<PackageReference Include="Aspire.Hosting.Docker" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NoteBookmark.Api\NoteBookmark.Api.csproj" />
Expand Down
12 changes: 3 additions & 9 deletions src/NoteBookmark.BlazorApp/NoteBookmark.BlazorApp.csproj
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Markdig" Version="0.43.0" />
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.13.0" />
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components.Icons" Version="4.13.0" />
<PackageReference Include="Markdig" />
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components" />
<PackageReference Include="Microsoft.FluentUI.AspNetCore.Components.Icons" />
</ItemGroup>

<ItemGroup>
Expand Down
10 changes: 2 additions & 8 deletions src/NoteBookmark.Domain/NoteBookmark.Domain.csproj
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Azure.Data.Tables" Version="12.11.0" />
<PackageReference Include="System.Text.Json" Version="9.0.10" />
<PackageReference Include="Azure.Data.Tables" />
<PackageReference Include="System.Text.Json" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireSharedProject>true</IsAspireSharedProject>
</PropertyGroup>

<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />

<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.10.0" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.5.2" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.13.1" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.13.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.13.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.13.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.13.0" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" />
</ItemGroup>

</Project>
Loading