Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AdvancedCollectionView: Use generic arguments if possible to get type of elements in list #80

Closed
wants to merge 92 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
dc47516
Use generic arguments if possible to get type of elements in lists
lhak Jun 6, 2023
9cebc43
Use generic arguments if possible to get type of elements in lists
lhak Jun 6, 2023
2f14da1
Add test if lists with elements of different types work correctly
lhak Jun 16, 2023
385bce2
Merge branch 'main' of https://github.com/lhak/Windows
lhak Jun 16, 2023
b01a925
Cleaned up duplicate headers and descriptions (#99)
Arlodotexe Jun 21, 2023
ad6bbff
Adding icons
niels9001 Jun 21, 2023
1b4bdb7
Update tooling
niels9001 Jun 21, 2023
2b000a4
Icon tweaks
niels9001 Jun 21, 2023
acf2615
Fixed package id for camera preview (#104)
Arlodotexe Jun 26, 2023
bea1c71
HeaderedControls (#109)
niels9001 Jul 10, 2023
56dff69
Porting TokenizingTextBox (#77)
niels9001 Jul 11, 2023
b774cf4
Init
niels9001 Jun 7, 2023
6e8ddd5
Xaml styler
niels9001 Jun 7, 2023
50e7e33
CI fixes
niels9001 Jun 9, 2023
0297a3d
Update LayoutTransformControl.Properties.cs
niels9001 Jun 9, 2023
ae9ca0a
Adding namespace
niels9001 Jun 9, 2023
cafd02a
Suppress CI warning
niels9001 Jun 13, 2023
1856a7c
Fix for the CI
niels9001 Jun 15, 2023
a32a697
Updating icon
niels9001 Jun 21, 2023
0fb15b8
Fixed PackageId
Arlodotexe Jul 10, 2023
f355239
Fixing compilation conditionals
Arlodotexe Jul 10, 2023
3d4be7f
Fixing compilation conditionals
Arlodotexe Jul 11, 2023
267f09a
Update components/LayoutTransformControl/src/CommunityToolkit.WinUI.C…
Arlodotexe Jul 11, 2023
8460b35
Bump version number (#122)
niels9001 Jul 11, 2023
4332f85
Add sample for FrameworkElementExtensions.Ancestor/Type
michael-hawker Jun 26, 2023
0a7b623
Fixes #106 to change binding type of AncestorType in FrameworkElement…
michael-hawker Jun 27, 2023
b838835
Add initial test case for FrameworkElementExtension.RelativeAncestor
michael-hawker Jun 28, 2023
b05105e
Add more test cases to try and track issue for #107
michael-hawker Jun 29, 2023
3decd11
Add unloaded event, but didn't see impact tests pass before and after…
michael-hawker Jun 29, 2023
be4577e
Collections component (#123)
niels9001 Jul 11, 2023
1647cae
Move Effects back into Extensions
michael-hawker Jul 10, 2023
9149cef
Add Uno platform targets to Animation package
michael-hawker Jul 10, 2023
2cbd8e6
Target Uno for the Behaviors.Animations package
michael-hawker Jul 10, 2023
f4d5d0a
Merge Behaviors.Animations component back into Behaviors
michael-hawker Jul 10, 2023
34e547b
Bump version numbers of Animation, Behaviors, and Extensions packages
michael-hawker Jul 11, 2023
90e6909
Ported source code for CommunityToolkit.WinUI.Media (#113)
Arlodotexe Jul 13, 2023
58c16fa
Use .NET 7 in CI
Arlodotexe Jul 15, 2023
02231dd
Revert output folder to 6.x for SampleGen tests
Arlodotexe Jul 15, 2023
c93b840
Update tooling to latest main
Arlodotexe Jul 15, 2023
917513c
Add more samples for the ConstrainedBox control (#141)
michael-hawker Jul 17, 2023
22cde03
Add initial port of Header Behaviors for ListViewBase components
michael-hawker Jul 11, 2023
0f07550
Consolidate StickyHeaderBehavior and QuickReturnHeaderBehavior with n…
michael-hawker Jul 12, 2023
0c94a78
Move FadeHeaderBehavior to new base class
michael-hawker Jul 12, 2023
e113a05
Make HeaderElement a FrameworkElement as we pretty much needed it lik…
michael-hawker Jul 12, 2023
4065216
Initial switch over to inversion of paradigm for Header behaviors to …
michael-hawker Jul 12, 2023
5dc89db
Clean-up base check for AssociatedObject and add two new samples for …
michael-hawker Jul 13, 2023
d4fc9fd
Rev Behaviors Package Version
michael-hawker Jul 13, 2023
a0bef1a
Minor design tweaks header behaviors samples (#142)
niels9001 Jul 14, 2023
338be80
Update components/Behaviors/samples/Headers/HeaderBehaviors.md
niels9001 Jul 17, 2023
0172c7c
Set ToolTip
niels9001 Jul 13, 2023
9982c42
Removing properties / methods (#147)
niels9001 Jul 18, 2023
aeb84d9
Update tooling (#139)
niels9001 Jul 18, 2023
15ce805
Fixed codespaces not cloning submodule automatically
Arlodotexe Jul 15, 2023
8774760
Porting SettingsControls (#154)
niels9001 Jul 20, 2023
eca200c
Port ImageCropper (#97)
niels9001 Jul 21, 2023
7d43a56
Install net7 in devcontainer
Arlodotexe Jul 21, 2023
587243e
Bumped SettingsControl version number, enable other TFMs (#159)
Arlodotexe Jul 24, 2023
3c888a3
Updated tooling to latest version (#160)
Arlodotexe Jul 25, 2023
fce1780
Lazy auto version packages and remove versions from packages
michael-hawker Jul 31, 2023
f4a6eea
Attempt to fix NuGet icon
michael-hawker Jul 31, 2023
c594bd4
Automates all AssemblyGeneration into the props file for libraries
michael-hawker Jul 31, 2023
710c30f
Fix extra InternalsVisibleTo needed for build
michael-hawker Jul 31, 2023
f7009b2
Add Converters property to directory props to build converters from s…
michael-hawker Jul 19, 2023
aebd830
Update build to try only building for wasm in linux job
michael-hawker Jul 19, 2023
8e18ff9
Updating tooling submodule
michael-hawker Aug 1, 2023
cbea35f
Remove unneeded build flags
michael-hawker Aug 2, 2023
2befb11
[Converters] Adding updated samples (#138)
niels9001 Aug 3, 2023
0aed035
Porting Segmented (#157)
niels9001 Aug 3, 2023
acb5a1f
Updating tooling module for Converters fix 2
michael-hawker Aug 3, 2023
4194901
Remove double-slashes from Project Paths (#165)
michael-hawker Aug 8, 2023
10adbf7
StackedNotificationsBehavior port (#170)
michael-hawker Aug 11, 2023
aa9b07a
Fixes issues with the build script in detecting dump files to upload …
michael-hawker Aug 14, 2023
f825d0c
Not sure why icon isn't showing up in NuGet metadata, maybe casing as…
michael-hawker Aug 16, 2023
47089e8
Update base package tags
michael-hawker Aug 16, 2023
c1cbbdf
Try Ignoring tests that regularly fail more often (though still think…
michael-hawker Aug 15, 2023
c1e2f66
Update Release Build Tooling Dependency Versions
michael-hawker Aug 16, 2023
b2dd749
fixed GreaterThan && LessThan and added test (#176)
davidegiacometti Aug 17, 2023
b47b447
Updating default value of the ActionIconToolTip
niels9001 Aug 16, 2023
819071d
Sample tweaks
niels9001 Aug 16, 2023
58cdd50
Upgrade to .NET 7, enable WASM optimizations (#173)
Arlodotexe Aug 17, 2023
24d0559
Port and add samples for Media EffectAnimations (#151)
Arlodotexe Aug 21, 2023
d3a1be7
Porting NavigateToUriBehavior (#179)
niels9001 Aug 22, 2023
48be680
Initial test for signing packages (push to PR feed to validate)
michael-hawker Aug 17, 2023
9ba9f70
Test larger runner, fix issue with signing tool arguments
michael-hawker Aug 18, 2023
7b46412
Use Package List file as artifact vs. checking out whole repo
michael-hawker Aug 21, 2023
f13e7e6
Add a fix for having inconsistent version numbers between the WinUI 2…
michael-hawker Aug 21, 2023
43ed852
Use git log to get date of commit
michael-hawker Aug 21, 2023
b5be4e7
Update to push date back to env and better combine msbuild properties…
michael-hawker Aug 21, 2023
97f60a2
Pass in date and version more explicitly to msbuild and powershell pa…
michael-hawker Aug 21, 2023
af31915
Add conditionals to only run Signing/Release steps at the correct times
michael-hawker Aug 21, 2023
a9fdaab
Exclude pushing packages to PR feed if from a fork (won't have secret)
michael-hawker Aug 22, 2023
5f5c73d
Merge branch 'main' of https://github.com/lhak/Windows
Arlodotexe Aug 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"uno.check": {
"version": "1.10.0",
"version": "1.13.0",
"commands": [
"uno-check"
]
Expand Down
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"args": {
// Update 'VARIANT' to pick a .NET Core version: 3.1, 5.0, 6.0
// Append -bullseye or -focal to pin to an OS version.
"VARIANT": "6.0",
"VARIANT": "7.0",
// Options
"NODE_VERSION": "lts/*"
}
Expand Down Expand Up @@ -55,7 +55,7 @@
// "mounts": [ "source=${env:HOME}${env:USERPROFILE}/.aspnet/https,target=/home/vscode/.aspnet/https,type=bind" ],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "dotnet restore",
"postCreateCommand": "dotnet dev-certs https --trust",
"postCreateCommand": "git submodule update --init; dotnet dev-certs https --trust",
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
"features": {
Expand Down
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -434,4 +434,4 @@ csharp_style_prefer_extended_property_pattern = true:suggestion
dotnet_diagnostic.IDE0073.severity = warning

# Uno platform exposes IDisposable on Storyboard publicly when it should be internal. Ignore this.
dotnet_code_quality.CA1001.excluded_type_names_with_derived_types = T:Windows.UI.Xaml.Media.Animation.Storyboard
dotnet_code_quality.CA1001.excluded_type_names_with_derived_types = T:Windows.UI.Xaml.Media.Animation.Storyboard
1 change: 1 addition & 0 deletions .github/workflows/SignClientFileList.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**/CommunityToolkit.*
235 changes: 213 additions & 22 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,16 @@ on:
merge_group:

env:
DOTNET_VERSION: ${{ '6.0.x' }}
ENABLE_DIAGNOSTICS: false
DOTNET_VERSION: ${{ '7.0.100' }}
ENABLE_DIAGNOSTICS: true
MSBUILD_VERBOSITY: normal
#COREHOST_TRACE: 1
COREHOST_TRACEFILE: corehosttrace.log
MULTI_TARGET_DIRECTORY: tooling/MultiTarget
HEADS_DIRECTORY: tooling/ProjectHeads
IS_MAIN: ${{ github.ref == 'refs/heads/main' }}
IS_PR: ${{ startsWith(github.ref, 'refs/pull/') }}
IS_RELEASE: ${{ startsWith(github.ref, 'refs/heads/rel/') }}

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
Expand Down Expand Up @@ -51,7 +57,7 @@ jobs:
# Build both Uno.UI/WinUI2/UWP and Uno.WinUI/WinUI3/WindowsAppSDK versions of our packages using a matrix
build:
needs: [Xaml-Style-Check]
runs-on: windows-latest
runs-on: windows-latest-large

# See https://docs.github.com/actions/using-jobs/using-a-matrix-for-your-jobs
strategy:
Expand All @@ -60,13 +66,29 @@ jobs:
platform: [WinUI2, WinUI3]

env:
MULTI_TARGET_DIRECTORY: tooling/MultiTarget
# faux-ternary expression to select which platforms to build for each platform vs. duplicating step below.
TARGET_PLATFORMS: ${{ matrix.platform != 'WinUI3' && 'all' || 'all-uwp' }}
TARGET_PLATFORMS: all
TEST_PLATFORM: ${{ matrix.platform != 'WinUI3' && 'UWP' || 'WinAppSdk' }}
VERSION_PROPERTY: ${{ github.ref == 'refs/heads/main' && format('build.{0}', github.run_number) || format('pull-{0}.{1}', github.event.number, github.run_number) }}

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Configure Pagefile
uses: al-cheb/[email protected]
with:
minimum-size: 32GB
maximum-size: 32GB
disk-root: "C:"

- name: Enable User-Mode Dumps collecting
if: ${{ env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '' }}
shell: powershell
run: |
New-Item '${{ github.workspace }}\CrashDumps' -Type Directory
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpFolder' -Type ExpandString -Value '${{ github.workspace }}\CrashDumps'
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpCount' -Type DWord -Value '10'
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' -Name 'DumpType' -Type DWord -Value '2'

- name: Install .NET SDK v${{ env.DOTNET_VERSION }}
uses: actions/setup-dotnet@v3
with:
Expand All @@ -87,7 +109,7 @@ jobs:
run: dotnet tool restore

- name: Run Uno Check to Install Dependencies
run: dotnet tool run uno-check --ci --fix --non-interactive --skip wsl --skip androidemulator --verbose
run: dotnet tool run uno-check --ci --fix --non-interactive --skip wsl --skip androidemulator --skip vswinworkloads --verbose

- name: Add msbuild to PATH
uses: microsoft/[email protected]
Expand All @@ -101,30 +123,52 @@ jobs:
run: powershell -version 5.1 -command "./tooling/GenerateAllSolution.ps1 -IncludeHeads ${{ env.TEST_PLATFORM }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}" -ErrorAction Stop

- name: Enable Uno.WinUI (in WinUI3 matrix only)
if: ${{ matrix.platform == 'WinUI3' }}
working-directory: ./${{ env.MULTI_TARGET_DIRECTORY }}
run: powershell -version 5.1 -command "./UseUnoWinUI.ps1 3" -ErrorAction Stop
if: ${{ matrix.platform == 'WinUI3' }}

- name: Format Date/Time of Commit for Package Version
if: ${{ env.IS_RELEASE == 'false' }}
run: |
echo "VERSION_DATE=$(git log -1 --format=%cd --date=format:%y%m%d)" >> $env:GITHUB_ENV

# Semver regex: https://regex101.com/r/Ly7O1x/3/
- name: Format Date/Time of Release Package Version
if: ${{ env.IS_RELEASE == 'true' }}
run: |
$ref = "${{ github.ref }}"
$ref -match "^refs/heads/rel/(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*)(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$"
echo "VERSION_DATE=$($matches['patch'])" >> $env:GITHUB_ENV
echo "VERSION_PROPERTY=$($matches['prerelease'])" >> $env:GITHUB_ENV

- name: MSBuild
run: msbuild.exe CommunityToolkit.AllComponents.sln /restore /nowarn:MSB4011 -p:Configuration=Release -m -p:UseDotNetNativeToolchain=false
run: >
msbuild.exe /restore /nowarn:MSB4011
/p:Configuration=Release
/m
/p:DateForVersion=${{ env.VERSION_DATE }}
/p:PreviewVersion=${{ env.VERSION_PROPERTY }}
${{ env.ENABLE_DIAGNOSTICS == 'true' && '/bl' || '' }}
/v:${{ env.MSBUILD_VERBOSITY }}
CommunityToolkit.AllComponents.sln

# Build All Packages
- name: pack experiments
working-directory: ./tooling/Scripts/
run: ./PackEachExperiment.ps1 all

# Push Packages to our DevOps Artifacts Feed (see nuget.config)
- name: Add source
if: ${{ github.ref == 'refs/heads/main' }}
run: dotnet nuget update source MainLatest --username dummy --password ${{ secrets.DEVOPS_PACKAGE_PUSH_TOKEN }}
run: ./PackEachExperiment.ps1 -date ${{ env.VERSION_DATE }} -postfix ${{ env.VERSION_PROPERTY }}

- name: Push packages
if: ${{ github.ref == 'refs/heads/main' }}
run: dotnet nuget push "**/*.nupkg" --api-key dummy --source MainLatest --skip-duplicate
# Push Pull Request Packages to our DevOps Artifacts Feed (see nuget.config)
- name: Push Pull Request Packages (if not fork)
if: ${{ env.IS_PR == 'true' && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }}
run: |
dotnet nuget add source https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-PullRequests/nuget/v3/index.json `
--name PullRequests `
--username dummy --password ${{ secrets.DEVOPS_PACKAGE_PUSH_TOKEN }}
dotnet nuget push "**/*.nupkg" --api-key dummy --source PullRequests --skip-duplicate

# Run tests
- name: Setup VSTest Path
uses: darenm/Setup-VSTest@v1
uses: darenm/Setup-VSTest@v1.2

- name: Install Testspace Module
uses: testspace-com/setup-testspace@v1
Expand All @@ -137,7 +181,7 @@ jobs:

- name: Run experiment tests against ${{ env.TEST_PLATFORM }}
id: test-platform
run: vstest.console.exe ./tooling/**/CommunityToolkit.Tests.${{ env.TEST_PLATFORM }}.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ env.TEST_PLATFORM }}.trx"
run: vstest.console.exe ./tooling/**/CommunityToolkit.Tests.${{ env.TEST_PLATFORM }}.build.appxrecipe /Framework:FrameworkUap10 /logger:"trx;LogFileName=${{ env.TEST_PLATFORM }}.trx" /Blame

- name: Create test reports
run: |
Expand All @@ -151,10 +195,152 @@ jobs:
name: build-logs
path: ./**/*.*log

- name: Artifact - ILC Repro
uses: actions/upload-artifact@v3
if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
with:
name: ilc-repro
path: ./*.zip

# https://github.com/dorny/paths-filter#custom-processing-of-changed-files
- name: Detect If any Dump Files
id: detect-dump
if: always()
working-directory: ${{ github.workspace }}
run: |
echo "DUMP_FILE=$(Get-ChildItem .\CrashDumps\*.dmp -ErrorAction SilentlyContinue)" >> $env:GITHUB_OUTPUT

- name: Artifact - WER crash dumps
uses: actions/upload-artifact@v3
if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
with:
name: CrashDumps-${{ matrix.platform }}
path: '${{ github.workspace }}/CrashDumps'

- name: Analyze Dump
if: ${{ steps.detect-dump.outputs.DUMP_FILE != '' && (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
run: |
dotnet tool install --global dotnet-dump
dotnet-dump analyze ${{ steps.detect-dump.outputs.DUMP_FILE }} -c "clrstack" -c "pe -lines" -c "exit"

- name: Upload Package List
uses: actions/upload-artifact@v3
if: ${{ env.IS_PR == 'false' }}
with:
name: nuget-list
if-no-files-found: error
path: |
${{ github.workspace }}/.github/workflows/SignClientFileList.txt

# if we're not doing a PR build (or it's a PR from a fork) then we upload our packages so we can sign as a separate job or have available to test.
- name: Upload Packages as Artifacts
uses: actions/upload-artifact@v3
if: ${{ env.IS_PR == 'false' || github.event.pull_request.head.repo.full_name != github.repository }}
with:
name: nuget-packages-${{ matrix.platform }}
if-no-files-found: error
path: |
**/*.nupkg

sign:
needs: [build]
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/rel/') }}
runs-on: windows-latest
permissions:
id-token: write # Required for requesting the JWT

strategy:
fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them both to run to completion.
matrix:
platform: [WinUI2, WinUI3]

steps:
- name: Install .NET SDK v${{ env.DOTNET_VERSION }}
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Download Package List
uses: actions/download-artifact@v3
with:
name: nuget-list
path: ./

- name: Download built packages for ${{ matrix.platform }}
uses: actions/download-artifact@v3
with:
name: nuget-packages-${{ matrix.platform }}
path: ./packages

- name: Install Signing Tool
run: dotnet tool install --tool-path ./tools sign --version 0.9.1-beta.23356.1

- name: Sign Packages
run: >
./tools/sign code azure-key-vault
**/*.nupkg
--base-directory "${{ github.workspace }}/packages"
--file-list "${{ github.workspace }}/SignClientFileList.txt"
--timestamp-url "http://timestamp.digicert.com"
--publisher-name ".NET Foundation"
--description "Windows Community Toolkit"
--description-url "https://github.com/CommunityToolkit/Windows"
--azure-key-vault-url "${{ secrets.SIGN_KEY_VAULT_URL }}"
--azure-key-vault-client-id ${{ secrets.SIGN_CLIENT_ID }}
--azure-key-vault-client-secret "${{ secrets.SIGN_CLIENT_SECRET }}"
--azure-key-vault-tenant-id ${{ secrets.SIGN_TENANT_ID }}
--azure-key-vault-certificate "${{ secrets.SIGN_CERTIFICATE }}"
--verbosity Information

- name: Push Signed Packages
run: |
dotnet nuget add source https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-MainLatest/nuget/v3/index.json `
--name MainLatest `
--username dummy --password ${{ secrets.DEVOPS_PACKAGE_PUSH_TOKEN }}
dotnet nuget push "**/*.nupkg" --api-key dummy --source MainLatest --skip-duplicate

- name: Upload Signed Packages as Artifacts (for release)
uses: actions/upload-artifact@v3
if: ${{ env.IS_RELEASE == 'true' }}
with:
name: signed-nuget-packages-${{ matrix.platform }}
if-no-files-found: error
path: |
${{ github.workspace }}/packages/**/*.nupkg

release:
if: ${{ startsWith(github.ref, 'refs/heads/rel/') }}
needs: [sign]
environment: nuget-release-gate # This gates this job until manually approved
runs-on: ubuntu-latest

strategy:
fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them both to run to completion.
matrix:
platform: [WinUI2, WinUI3]

steps:
- name: Install .NET SDK v${{ env.DOTNET_VERSION }}
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Download signed packages for ${{ matrix.platform }}
uses: actions/download-artifact@v3
with:
name: signed-nuget-packages-${{ matrix.platform }}
path: ./packages

- name: Push to NuGet.org
run: >
dotnet nuget push
**/*.nupkg
--source https://api.nuget.org/v3/index.json
--api-key ${{ secrets.NUGET_PACKAGE_PUSH_TOKEN }}
--skip-duplicate

wasm-linux:
runs-on: ubuntu-latest
env:
HEADS_DIRECTORY: tooling/ProjectHeads

steps:
- name: Install .NET SDK v${{ env.DOTNET_VERSION }}
Expand All @@ -176,6 +362,11 @@ jobs:
- name: Restore dotnet tools
run: dotnet tool restore

- name: Enable WASM TargetFrameworks
shell: pwsh
working-directory: ./${{ env.MULTI_TARGET_DIRECTORY }}
run: ./UseTargetFrameworks.ps1 wasm

- name: Generate solution
shell: pwsh
working-directory: ./
Expand All @@ -188,7 +379,7 @@ jobs:
# See launch.json configuration file for analogous command we're emulating here to build LINK: ../../.vscode/launch.json:CommunityToolkit.App.Wasm.csproj
- name: dotnet build
working-directory: ./${{ env.HEADS_DIRECTORY }}/AllComponents/Wasm/
run: dotnet build /r /bl /p:UnoSourceGeneratorUseGenerationHost=true /p:UnoSourceGeneratorUseGenerationController=false
run: dotnet build /r /bl -v:${{ env.MSBUILD_VERBOSITY }}

# TODO: Do we want to run tests here? Can we do that on linux easily?

Expand Down
2 changes: 0 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
"build",
"/r",
"/bl",
"/p:UnoSourceGeneratorUseGenerationHost=true",
"/p:UnoSourceGeneratorUseGenerationController=false",
"/p:UnoRemoteControlPort=443",
"--project=${workspaceFolder}/tooling/ProjectHeads/AllComponents/Wasm/CommunityToolkit.App.Wasm.csproj"
],
Expand Down
4 changes: 2 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
"csharp.suppressDotnetInstallWarning": true,
"csharp.suppressDotnetRestoreNotification": true,
"csharp.semanticHighlighting.enabled": true,
"omnisharp.enableImportCompletion": true,
"omnisharp.enableMsBuildLoadProjectsOnDemand": true
"omnisharp.enableMsBuildLoadProjectsOnDemand": true,
"dotnet.completion.showCompletionItemsFromUnimportedNamespaces": true
}
Loading