Skip to content

Commit 664f25e

Browse files
authored
Merge branch 'master' into enhancement/841
2 parents 43a3164 + 4457c4e commit 664f25e

File tree

358 files changed

+55196
-9502
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

358 files changed

+55196
-9502
lines changed

.github/codeql/codeql-config.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
name: "Security and Quality"
2+
3+
queries:
4+
- uses: security-and-quality

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "nuget" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: "CodeQL"
2+
3+
on:
4+
push:
5+
branches: [master, ]
6+
pull_request:
7+
# The branches below must be a subset of the branches above
8+
branches: [master]
9+
schedule:
10+
- cron: '26 22 * * 0'
11+
env:
12+
caliburn_sln : "src\\caliburn.micro.sln"
13+
jobs:
14+
analyse:
15+
name: Analyse
16+
runs-on: windows-2022
17+
permissions:
18+
# required for all workflows
19+
security-events: write
20+
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v4
24+
with:
25+
# We must fetch at least the immediate parents so that if this is
26+
# a pull request then we can checkout the head.
27+
fetch-depth: 0
28+
29+
30+
# Initializes the CodeQL tools for scanning.
31+
- name: Initialize CodeQL
32+
uses: github/codeql-action/init@v3
33+
with:
34+
config-file: ./.github/codeql/codeql-config.yml # <-- add this line
35+
languages: csharp
36+
# Override language selection by uncommenting this and choosing your languages
37+
# with:
38+
# languages: go, javascript, csharp, python, cpp, java
39+
40+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
41+
# If this step fails, then you should remove it and run the build manually (see below)
42+
- name: Setup .NET
43+
uses: actions/setup-dotnet@v4
44+
with:
45+
global-json-file: src/global.json
46+
47+
- name: Setup Java SDK
48+
uses: actions/setup-java@v4
49+
with:
50+
distribution: 'microsoft'
51+
java-version: 17
52+
53+
54+
- name: Setup NuGet.exe for use with actions
55+
# You may pin to the exact commit or the version.
56+
# uses: NuGet/setup-nuget@fd9fffd6ca4541cf4152a9565835ca1a88a6eb37
57+
uses: NuGet/setup-nuget@v2
58+
- name: Add msbuild to PATH
59+
uses: microsoft/setup-msbuild@v2
60+
61+
- name: search workloads
62+
run: dotnet workload search
63+
- name: restore workloads
64+
run: dotnet workload install maui maui-android maui-ios maui-maccatalyst maui-windows android --source https://api.nuget.org/v3/index.json
65+
- name: list workloads
66+
run: dotnet workload list
67+
68+
- name: Restore nuget packages
69+
run: msbuild ${{env.caliburn_sln}} -t:restore
70+
71+
- name: Build app for release
72+
run: msbuild ${{env.caliburn_sln}} /t:Build
73+
74+
# ℹ️ Command-line programs to run using the OS shell.
75+
# 📚 https://git.io/JvXDl
76+
77+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
78+
# and modify them (or add more) to build your code if your project
79+
# uses a compiled language
80+
81+
#- run: |
82+
# make bootstrap
83+
# make release
84+
85+
- name: Perform CodeQL Analysis
86+
uses: github/codeql-action/analyze@v3

.github/workflows/dotnet.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# This workflow will build a .NET project
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
3+
4+
name: .NET
5+
6+
on:
7+
push:
8+
branches: [ "master" ]
9+
pull_request:
10+
branches: [ "master" ]
11+
env:
12+
caliburn_sln : "src\\caliburn.micro.sln"
13+
caliburn_tutorial: "samples\\tutorals\\WPF\\Wpf.Tutorial\\Caliburn.Micro.Tutorial.App.sln"
14+
caliburn_setup: "samples\\setup\\setup.sln"
15+
caliburn_features: "samples\\features\\features.sln"
16+
package_feed: "https://nuget.pkg.github.com/caliburn-micro/index.json"
17+
nuget_folder: "\\packages"
18+
nuget_upload: 'packages\*.nupkg'
19+
build_configuration: "Release"
20+
21+
jobs:
22+
build:
23+
24+
runs-on: windows-2022
25+
26+
steps:
27+
- uses: actions/checkout@v4
28+
with:
29+
fetch-depth: 0 # avoid shallow clone so nbgv can do its work
30+
- name: Setup .NET
31+
uses: actions/setup-dotnet@v4
32+
with:
33+
global-json-file: src/global.json
34+
- name: Setup Java SDK
35+
uses: actions/setup-java@v4
36+
with:
37+
distribution: 'microsoft'
38+
java-version: 17
39+
40+
41+
- name: Setup NuGet.exe for use with actions
42+
# You may pin to the exact commit or the version.
43+
# uses: NuGet/setup-nuget@fd9fffd6ca4541cf4152a9565835ca1a88a6eb37
44+
uses: NuGet/setup-nuget@v2
45+
- name: Add msbuild to PATH
46+
uses: microsoft/setup-msbuild@v2
47+
48+
- name: search workloads
49+
run: dotnet workload search
50+
- name: restore workloads
51+
run: dotnet workload install maui maui-android maui-ios maui-tizen maui-maccatalyst maui-windows android --source https://api.nuget.org/v3/index.json
52+
- name: list workloads
53+
run: dotnet workload list
54+
- name: Install NBGV tool
55+
run: dotnet tool install -g nbgv
56+
- name: Set Version
57+
run: nbgv cloud
58+
- name: Restore nuget packages
59+
run: msbuild ${{env.caliburn_sln}} -t:restore
60+
61+
- name: Build app for release
62+
run: msbuild ${{env.caliburn_sln}} /t:Build /p:Configuration=${{env.build_configuration}}
63+
64+
- name: Run Unit Tests
65+
run: dotnet test ${{env.caliburn_sln}} --configuration ${{env.build_configuration}} --settings coverage.runsettings --no-build --verbosity normal
66+
67+
- name: Restore nuget packages for tutorial
68+
run: msbuild ${{env.caliburn_tutorial}} -t:restore
69+
70+
- name: Build feature tutorial
71+
run: msbuild ${{env.caliburn_tutorial}} /t:Build /p:Configuration=${{env.build_configuration}}
72+
73+
- name: Restore nuget packages for features
74+
run: msbuild ${{env.caliburn_features}} -t:restore
75+
76+
- name: Build feature features
77+
run: msbuild ${{env.caliburn_features}} /t:Build /p:Configuration=${{env.build_configuration}}
78+
79+
- name: Pack Nuget
80+
run: msbuild ${{env.caliburn_sln}} /t:package /p:Configuration=${{env.build_configuration}}
81+
82+
- name: publish Nuget Packages to GitHub
83+
run: dotnet nuget push ${{env.nuget_upload}} --source ${{env.package_feed}} --api-key ${{secrets.PUBLISH_NUGET_PACKAGE}} --skip-duplicate
84+
if: github.event_name != 'pull_request'

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,3 +328,8 @@ ASALocalRun/
328328

329329
# MFractors (Xamarin productivity tool) working folder
330330
.mfractor/
331+
332+
333+
#dont save code coverage results
334+
coverage.opencover.xml
335+
coverage.json

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
CI | [![Build Status](https://img.shields.io/azure-devops/build/caliburn-micro/caliburn-micro/3.svg?logo=windows&logoColor=white&style=for-the-badge)](https://dev.azure.com/caliburn-micro/caliburn-micro/_build/latest?definitionId=3)
77
MyGet | [![MyGet Package](https://img.shields.io/myget/caliburn-micro-builds/v/caliburn.micro.svg?label=caliburn.micro&logo=nuget&logoColor=white&&style=for-the-badge&colorB=2B7DCC)](https://www.myget.org/feed/caliburn-micro-builds/package/nuget/Caliburn.Micro)
88
NuGet | [![NuGet Package](https://img.shields.io/nuget/v/Caliburn.Micro.svg?logo=nuget&logoColor=white&&style=for-the-badge&colorB=green)](https://www.nuget.org/packages/Caliburn.Micro)
9+
GitHub Action | ![example workflow](https://github.com/Caliburn-Micro/Caliburn.Micro/actions/workflows/dotnet.yml/badge.svg)
910

1011
Caliburn.Micro is a small, yet powerful framework, designed for building applications across all XAML platforms. With strong support for MVVM and other proven UI patterns, Caliburn.Micro will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
1112

@@ -14,6 +15,14 @@ Caliburn.Micro is a small, yet powerful framework, designed for building applica
1415
- [Caliburn.Micro](https://www.nuget.org/packages/Caliburn.Micro/) - The platform-specific adapters for Caliburn.Micro.
1516
- [Caliburn.Micro.Xamarin.Forms](https://www.nuget.org/packages/Caliburn.Micro.Xamarin.Forms/) - Support to Caliburn.Micro in Xamarin.Forms.
1617

18+
## Packages are available on Github
19+
- [Caliburn.Micro.Core](https://github.com/Caliburn-Micro/Caliburn.Micro/pkgs/nuget/Caliburn.Micro.Core) - The Portable Class Library (PCL) portion of Caliburn.Micro.
20+
- [Caliburn.Micro](https://github.com/Caliburn-Micro/Caliburn.Micro/pkgs/nuget/Caliburn.Micro) - The platform-specific adapters for Caliburn.Micro.
21+
- [Caliburn.Micro.Xamarin.Forms](https://github.com/Caliburn-Micro/Caliburn.Micro/pkgs/nuget/Caliburn.Micro.Xamarin.Forms) - Support to Caliburn.Micro for Xamarin.Forms.
22+
- [Caliburn.Micro.Maui](https://github.com/Caliburn-Micro/Caliburn.Micro/pkgs/nuget/Caliburn.Micro.Maui) - Support to Caliburn.Micro for dotnet Maui
23+
- [Caliburn.Micro.Avalonia](https://github.com/Caliburn-Micro/Caliburn.Micro/pkgs/nuget/Caliburn.Micro.Avalonia) - Support To Caliburn.Micro for Avalonia UI
24+
- [Caliburn.Micro.WinUI]() - Support to Caliburn.Micro for WinUI (WinApp Sdk) Coming Soon
25+
1726
## Questions
1827
- For non bug related questions see [Stack Overflow](https://stackoverflow.com/questions/tagged/caliburn.micro)
1928

azure-pipeline.yml

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ steps:
1515
displayName: 'Install .NET'
1616
inputs:
1717
packageType: 'sdk'
18-
useGlobalJson: true
18+
version: '9.0.x'
19+
1920

2021
- task: PowerShell@2
2122
displayName: 'Install MAUI'
@@ -29,7 +30,7 @@ steps:
2930
- task: NuGetToolInstaller@1
3031
displayName: 'Install Nuget'
3132
inputs:
32-
versionSpec: '6.3.0'
33+
versionSpec: '6.12.1'
3334

3435
- task: DotNetCoreCLI@2
3536
inputs:
@@ -56,42 +57,7 @@ steps:
5657
platform: '$(buildPlatform)'
5758
msbuildArgs: '/t:Pack /p:JavaSdkDirectory="$(JAVA_HOME_11_X64)"'
5859

59-
- task: DotNetCoreCLI@2
60-
displayName: Run Unit Tests
61-
inputs:
62-
command: test
63-
projects: '**/*Test*/*.csproj'
64-
arguments: '--configuration $(buildConfiguration) --collect "Code coverage"'
65-
66-
- task: NuGetCommand@2
67-
displayName: Restore Setup Solution
68-
inputs:
69-
restoreSolution: '$(setupsamplessolution)'
70-
feedsToUse: config
71-
nugetConfigPath: 'samples\setup\.nuget\nuget.config'
72-
verbosityRestore: 'detailed'
73-
74-
75-
- task: VSBuild@1
76-
displayName: Build Setup Solution
77-
inputs:
78-
solution: '$(setupSamplesSolution)'
79-
configuration: '$(buildConfiguration)'
80-
platform: '$(buildPlatform)'
81-
msbuildArgs: '/t:Build /p:JavaSdkDirectory="$(JAVA_HOME_11_X64)"'
82-
83-
- task: NuGetCommand@2
84-
displayName: Restore Features Solution
85-
inputs:
86-
restoreSolution: '$(featuresSamplesSolution)'
8760

88-
- task: VSBuild@1
89-
displayName: Build Features Solution
90-
inputs:
91-
solution: '$(featuresSamplesSolution)'
92-
configuration: '$(buildConfiguration)'
93-
platform: '$(buildPlatform)'
94-
msbuildArgs: '/t:Build /p:JavaSdkDirectory="$(JAVA_HOME_11_X64)"'
9561

9662
- task: CopyFiles@2
9763
displayName: Copy Packages to Artifact Directory

coverage.runsettings

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<RunSettings>
3+
<DataCollectionRunSettings>
4+
<DataCollectors>
5+
<DataCollector friendlyName="XPlat code coverage">
6+
<Configuration>
7+
<Format>json</Format>
8+
</Configuration>
9+
</DataCollector>
10+
</DataCollectors>
11+
</DataCollectionRunSettings>
12+
<InProcDataCollectionRunSettings>
13+
<InProcDataCollectors>
14+
<InProcDataCollector assemblyQualifiedName="Coverlet.Collector.DataCollection.CoverletInProcDataCollector, coverlet.collector, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null"
15+
friendlyName="XPlat Code Coverage"
16+
enabled="True"
17+
codebase="coverlet.collector.dll" />
18+
</InProcDataCollectors>
19+
</InProcDataCollectionRunSettings>
20+
</RunSettings>

0 commit comments

Comments
 (0)