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
20 changes: 13 additions & 7 deletions .github/workflows/build-core-lib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ env:
jobs:
Build:

name: Build and Test Code Lib
name: Build and Test Core Lib
runs-on: windows-latest

permissions:
Expand All @@ -46,13 +46,19 @@ jobs:
with:
dotnet-version: 8.0.x

- name: Setup .NET 9.0
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
dotnet-quality: preview

# Build

- name: Restore
run: dotnet restore

- name: Build
run: dotnet build ${{ env.PROJECTS }} --configuration Release -warnaserror
run: dotnet build ${{ env.PROJECTS }} --configuration Release
working-directory: ${{ github.workspace }}

# Unit Tests
Expand Down Expand Up @@ -117,11 +123,10 @@ jobs:
path: ./TestResults/ExtractedTests.md

# Test Coverage

- name: Report Generator
uses: danielpalme/ReportGenerator-GitHub-Action@5.2.4
with:
reports: '**/coverage.cobertura.xml'
reports: '**/coverage.net8.0.cobertura.xml;**/coverage.net9.0.cobertura.xml'
targetdir: 'CoverageReports'
title: 'Unit Tests Code Coverage'
classfilters: '-Microsoft.FluentUI.AspNetCore.Components.DesignTokens.*'
Expand All @@ -143,6 +148,7 @@ jobs:
runs-on: ubuntu-latest
name: Build and Deploy Demo site
env:
DOTNET_VERSION: "net9.0"
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
Expand All @@ -161,13 +167,13 @@ jobs:
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
8.0.x
9.0.x
include-prerelease: true
- name: .NET Builld
run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true

- name: .NET Publish
run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true

- name: Deploy demo site to new Azure Static Web App
id: builddeploy
Expand Down
15 changes: 4 additions & 11 deletions .github/workflows/cicd_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,13 @@ on:
paths-ignore:
- '**/*.gitignore'
- '**/*.gitattributes'

workflow_dispatch:
branches:
- main
paths-ignore:
- '**/*.gitignore'
- '**/*.gitattributes'

jobs:
build_deploy_demo:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and deploy Demo site
env:
DOTNET_VERSION: "net9.0"
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
Expand All @@ -46,7 +39,7 @@ jobs:
with:
dotnet-version: |
8.0.x
include-prerelease: true
9.0.x

- name: NPM Install
uses: actions/setup-node@v4
Expand All @@ -57,10 +50,10 @@ jobs:
- run: npm install "src/Core.Assets/"

- name: .NET Builld
run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true

- name: .NET Publish
run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true
run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true

- name: Deploy demo site to new Azure Static Web App
id: builddeploy
Expand Down
35 changes: 20 additions & 15 deletions .github/workflows/deploy_preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Deploy preview to Azure Static Web Apps
on:
# Allow manually running the workflow
workflow_dispatch:

push:
branches:
- dev
Expand All @@ -13,10 +13,11 @@ on:

jobs:
build_deploy_demo:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and deploy Demo site
name: Build and deploy Demo site
env:
DOTNET_VERSION: "net9.0"
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
Expand All @@ -30,20 +31,24 @@ jobs:
steps:
- name: Checkout source
uses: actions/checkout@v4

- name: .NET Setup SDKs
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
8.0.x
include-prerelease: true

- name: .NET Builld
run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true

- name: .NET Publish
run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f net8.0 -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true

dotnet-version: 8.0.x

- name: .NET Setup SDKs
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
dotnet-quality: preview

- name: .NET Builld
run: dotnet build ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true

- name: .NET Publish
run: dotnet publish ${{ env.PROJECT }} -c ${{ env.BUILD_CONFIG }} -o publish -f ${{ env.DOTNET_VERSION }} -r linux-x64 --self-contained=true -p:BuildNumber=$BUILD_NUMBER -p:SourceRevisionId=$GITHUB_SHA -p:ContinuousIntegrationBuild=true

- name: Deploy demo site to new Azure Static Web App
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
Expand All @@ -61,7 +66,7 @@ jobs:
destroy:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
name: Close Pull Request Job
name: Close Pull Request Job
steps:
- name: Close Pull Request on new Azure Static Web App
id: closepullrequest
Expand Down
6 changes: 3 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>

<VersionFile>4.9.4</VersionFile>
<VersionPrefix>4.9.4</VersionPrefix>
<VersionFile>4.10.0</VersionFile>
<VersionPrefix>4.10.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
<AssemblyVersion>$(VersionFile)</AssemblyVersion>
<FileVersion>$(VersionFile)</FileVersion>

<!-- Enable code style analysis -->
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<!-- <EnableNETAnalyzers>true</EnableNETAnalyzers> -->
<EnableNETAnalyzers>true</EnableNETAnalyzers>

<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>

Expand Down
82 changes: 55 additions & 27 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,41 +1,69 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<RuntimeVersion>8.0.0</RuntimeVersion>
<AspNetCoreVersion>8.0.7</AspNetCoreVersion>
<EfCoreVersion>8.0.7</EfCoreVersion>
<RuntimeVersion8>8.0.0</RuntimeVersion8>
<AspNetCoreVersion8>8.0.8</AspNetCoreVersion8>
<EfCoreVersion8>8.0.8</EfCoreVersion8>
<RuntimeVersion9>9.0.0-preview.7.24405.7</RuntimeVersion9>
<AspNetCoreVersion9>9.0.0-preview.7.24406.2</AspNetCoreVersion9>
<EfCoreVersion9>9.0.0-preview.7.24405.3</EfCoreVersion9>
</PropertyGroup>
<ItemGroup>
<!-- For Sample Apps -->
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.9.2" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components.Icons" version="4.9.2" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.9.3" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components.Icons" version="4.9.3" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components.Emoji" Version="4.6.0" />
<!-- Build dependencies -->
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="$(AspNetCoreVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="$(AspNetCoreVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="$(AspNetCoreVersion)" />
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(RuntimeVersion)" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(RuntimeVersion)" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="$(RuntimeVersion)" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="$(RuntimeVersion)" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="$(RuntimeVersion)" />
<PackageVersion Include="System.Text.Encodings.Web" Version="$(RuntimeVersion)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="$(EfCoreVersion)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="$(EfCoreVersion)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="$(EfCoreVersion)" />
<PackageVersion Include="Markdig.Signed" Version="0.34.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0-beta1.24219.2" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.10.0" />
<PackageVersion Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.10.48" />
<PackageVersion Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="1.0.0" />
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
<!-- Test dependencies -->
<PackageVersion Include="bunit" Version="1.28.9" />
<PackageVersion Include="bunit" Version="1.31.3" />
<PackageVersion Include="FluentAssertions" Version="6.12.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.0" />
<PackageVersion Include="xunit" Version="2.9.0" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
<PackageVersion Include="coverlet.msbuild" Version="6.0.0" />
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
<!-- Shared dependencies -->
<PackageVersion Include="Markdig.Signed" Version="0.34.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0-beta1.24219.2" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" />
<PackageVersion Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.11.20" />
<PackageVersion Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="1.0.0" />

</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="$(RuntimeVersion8)" />
<PackageVersion Include="System.Text.Encodings.Web" Version="$(RuntimeVersion8)" />
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net8.0'">
<!-- Build dependencies -->
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="$(AspNetCoreVersion8)" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="$(AspNetCoreVersion8)" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="$(AspNetCoreVersion8)" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="$(RuntimeVersion8)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="$(EfCoreVersion8)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="$(EfCoreVersion8)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="$(EfCoreVersion8)" />
<PackageVersion Include="System.Text.Encodings.Web" Version="$(RuntimeVersion8)" />
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net9.0'">
<!-- Build dependencies -->
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="$(AspNetCoreVersion9)" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="$(AspNetCoreVersion9)" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="$(AspNetCoreVersion9)" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="$(RuntimeVersion9)" />
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(RuntimeVersion9)" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(RuntimeVersion9)" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="$(RuntimeVersion9)" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="$(RuntimeVersion9)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="$(EfCoreVersion9)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="$(EfCoreVersion9)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="$(EfCoreVersion9)" />
<PackageVersion Include="System.Text.Encodings.Web" Version="$(RuntimeVersion9)" />
<PackageVersion Include="System.Text.Json" Version="$(RuntimeVersion9)" />
</ItemGroup>
</Project>
</Project>
2 changes: 1 addition & 1 deletion docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

### Machine setup

To begin you'll need Git, .NET, and NodeJS setup on your machine.
To begin you'll need Git, .NET, and NodeJS (v22.x or higher) setup on your machine.

The `fluentui-blazor` repository uses Git as its source control system. If you haven't already installed it, you can download it [here](https://git-scm.com/downloads) or if you prefer a GUI-based approach, try [GitHub Desktop](https://desktop.github.com/).

Expand Down
20 changes: 10 additions & 10 deletions docs/using-latest-daily.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
# Set up your machine to use the latest FluentUI-Blazor package
# Set up your machine to use the latest Fluent UI Blazor package

These instructions will get you set up with the latest build of **FluentUI-Blazor**.
These instructions will get you set up with the **newest (potentially unstable!)** version of the Fluent UI Blazor package.

Each time a commit is pushed into the `main` or `dev` branches, the **Core** package is published to a special NuGet feed (not hosted on NuGet).

Each time a commit is pushed into the `main` ou `dev`, the **Core** package is published on a special NuGet repository.
Install the latest [Visual Studio 2022 Preview version](https://visualstudio.microsoft.com/vs/preview/) for the tooling.

**This package is a preliminary version and are not intended for production use.
It is intended to be used to test the latest feature and bug fix.**

If you just want the last final release of **FluentUI-Blazor**, the packages are on [NuGet.org](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components).
If you just want the latest **released** version, the packages are on [NuGet.org](https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components).

## Add necessary NuGet feed

The latest builds are pushed to a special feed, which you need to add:
The newest builds are pushed to a special feed, which you need to add in Visual Studio or through:
```sh
dotnet nuget add source --name dotnet8 https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json
```

As usual this will add the feed to any existing NuGet.config in the directory or above,
or else in the global NuGet.config. See [configuring NuGet behavior](https://learn.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) to read more about that.
This will add the feed to any existing NuGet.config in the current directory or above, or else
in the global NuGet.config. See [configuring NuGet behavior](https://learn.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) to read more about that.

Alternatively, if you are using Visual Studio, you can [Install and manage packages in Visual Studio](https://learn.microsoft.com/nuget/consume-packages/install-use-packages-visual-studio#package-sources)
If you are using Visual Studio, you can [Install and manage packages in Visual Studio](https://learn.microsoft.com/nuget/consume-packages/install-use-packages-visual-studio#package-sources)
and add the feed `https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json` there.

## Documentation

The documentation for this preliminary version is available at [https://preview.fluentui-blazor.net/](https://preview.fluentui-blazor.net/).
Documentation and examples for this preliminary version are available at [https://preview.fluentui-blazor.net/](https://preview.fluentui-blazor.net/).

## Contributing

Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ variables:
# File and Package version
# dev branch: 1.2.4-Preview-23282-1' (PackageSuffix is always ignored in Dev branch)
# main branch: 1.2.4-RC.1' (PackageSuffix is ignored, if empty, in Main branch)
FileVersion: '4.9.3' # Set the next final version here.
FileVersion: '4.10.0' # Set the next final version here.
PackageSuffix: ''
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
Expand All @@ -14,6 +14,6 @@

<ItemGroup>
<ProjectReference Include="..\..\..\src\Core\Microsoft.FluentUI.AspNetCore.Components.csproj" />
</ItemGroup>
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion examples/Demo/Client/FluentUI.Demo.Client.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
Expand Down
2 changes: 1 addition & 1 deletion examples/Demo/Server/FluentUI.Demo.Server.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFrameworks>net8.0; net9.0</TargetFrameworks>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
Expand Down
Loading