diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..0bf4a912c --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,16 @@ +{ + "name": "WPF UI Docs Dev Container", + "image": "mcr.microsoft.com/dotnet/sdk:8.0", + "features": { + "ghcr.io/devcontainers/features/node:1": { + "version": "20" + } + }, + "postCreateCommand": "./.devcontainer/post-create.sh", + "forwardPorts": [ + 8080 + ], + "remoteEnv": { + "NODE_ENV": "development" + } +} diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh new file mode 100755 index 000000000..4be12f03e --- /dev/null +++ b/.devcontainer/post-create.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +apt-get update +apt-get install -y openssh-client + +cd docs/templates +npm ci +npm run build +dotnet tool install -g docfx + +export PATH="$PATH:/root/.dotnet/tools" + +cd ../ +docfx docfx.json --serve diff --git a/.github/workflows/wpf-ui-cd-extension.yaml b/.github/workflows/wpf-ui-cd-extension.yaml index 6e01ee14a..6bd56b3c9 100644 --- a/.github/workflows/wpf-ui-cd-extension.yaml +++ b/.github/workflows/wpf-ui-cd-extension.yaml @@ -24,9 +24,17 @@ jobs: run: nuget restore Wpf.Ui.sln - name: Build the solution - run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="x64" -p:GITHUB_ACTIONS=True + run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="x64" -p:ProductArchitecture="amd64" -p:GITHUB_ACTIONS=True + + - name: Build the solution + run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="arm64" -p:ProductArchitecture="arm64" -p:GITHUB_ACTIONS=True - uses: actions/upload-artifact@v4 with: - name: wpf-ui-vs22-extension + name: wpf-ui-vs22-extension-x64 path: src\Wpf.Ui.Extension\bin\x64\Release\Wpf.Ui.Extension.vsix + + - uses: actions/upload-artifact@v4 + with: + name: wpf-ui-vs22-extension-arm64 + path: src\Wpf.Ui.Extension\bin\arm64\Release\Wpf.Ui.Extension.vsix diff --git a/.github/workflows/wpf-ui-cd-nuget.yaml b/.github/workflows/wpf-ui-cd-nuget.yaml index 4c19d45ea..a49cb274e 100644 --- a/.github/workflows/wpf-ui-cd-nuget.yaml +++ b/.github/workflows/wpf-ui-cd-nuget.yaml @@ -22,6 +22,13 @@ jobs: with: dotnet-version: 8.x + - name: Fetch the certificate + run: | + $signing_keys_payload = [System.Convert]::FromBase64String("${{ secrets.STRONG_NAME_KEY }}") + $currentDirectory = Get-Location + $certificatePath = Join-Path -Path $currentDirectory -ChildPath "src/lepo.snk" + [IO.File]::WriteAllBytes("$certificatePath", $signing_keys_payload) + - name: Install dependencies run: dotnet restore @@ -31,6 +38,9 @@ jobs: - name: Build run: dotnet build src\Wpf.Ui.Abstractions\Wpf.Ui.Abstractions.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true + - name: Build + run: dotnet build src\Wpf.Ui.DependencyInjection\Wpf.Ui.DependencyInjection.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true + - name: Build run: dotnet build src\Wpf.Ui.Tray\Wpf.Ui.Tray.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true @@ -39,3 +49,9 @@ jobs: - name: Publish the symbols to NuGet.org run: nuget push **\*.snupkg -NonInteractive -SkipDuplicate -Source 'https://api.nuget.org/v3/index.json' + + - name: Upload NuGet packages as artifacts + uses: actions/upload-artifact@v4 + with: + name: nuget-packages + path: '**\*.nupkg' diff --git a/.github/workflows/wpf-ui-lock.yml b/.github/workflows/wpf-ui-lock.yml index e47736a27..3cd32bf28 100644 --- a/.github/workflows/wpf-ui-lock.yml +++ b/.github/workflows/wpf-ui-lock.yml @@ -2,7 +2,7 @@ name: wpf-ui-lock on: schedule: - - cron: '0 * * * *' + - cron: '0 0 * * 0' workflow_dispatch: permissions: diff --git a/.gitignore b/.gitignore index e628c2e8c..30b97c438 100644 --- a/.gitignore +++ b/.gitignore @@ -2,9 +2,15 @@ ## files generated by popular Visual Studio add-ons. ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore +# Strong Name Key files +src/lepo.snk + # DocFX docs/api/ +# Desktop service store +.DS_Store + # User-specific files *.rsuser *.suo diff --git a/Directory.Build.props b/Directory.Build.props index f41b3dcea..f3160f4fa 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,7 +6,8 @@ - 4.0.0-rc.1 + 4.0.0-rc.2 + 4.0.0 diff --git a/Directory.Build.targets b/Directory.Build.targets index 8a271aa74..0050b61cd 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -44,46 +44,11 @@ true - - - $(IntermediateOutputPath)$(MSBuildProjectName).SkipLocalsInit.g.cs - - -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -[module: global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]]]> - + + true + $(RepositoryDirectory)\src\lepo.snk - - - - - - - - - - -