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

Add new reusable workflow for matrix testing scenarios #36

Merged
merged 18 commits into from
Aug 26, 2024

Conversation

JamesDawson
Copy link
Contributor

@JamesDawson JamesDawson commented May 8, 2024

Currently focussed on supporting .NET Framework testing scenarios.

The testPhaseMatrixJson workflow input allows you specify combinations of OSes and .NET Framework versions that tests will be run on, using the following JSON object:

{
  "os": ["ubuntu-latest", "windows-latest"],
  "dotnetFramework": ["net8.0", "net481"],
  "exclude": [
    {
      "os": "ubuntu-latest",
      "dotnetFramework": "net481"
    }
  ]
}

Refer to the GitHub documentation for more information about the different matrix configuration options:
https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow

TODO

Update scripted-build-pipeline.yml with relevant changes from the new matrix build:

  • Add ability to customise runner OS
  • Consider removing the publishing of the Cobertura coverage XML artefact
  • Remove use of irongut/CodeCoverageSummary as this is now part of scripted build
  • Apply updates to allow running EnricoMi/publish-unit-test-result-action on different OSes
  • Test workflow - validated here
  • Add PowerShell step for checking runner OS to matrix build workflow
  • Add CI workflow to validate changes to matrix workflow - see ci-matrix.yml workflow

Enable support for cross-os caching
Initially focussed on .NET solutions
Copy link

github-actions bot commented Aug 24, 2024

Test Results

1 tests   1 ✅  0s ⏱️
1 suites  0 💤
1 files    0 ❌

Results for commit 7d9cefe.

♻️ This comment has been updated with latest results.

@JamesDawson JamesDawson marked this pull request as ready for review August 24, 2024 23:37
@JamesDawson JamesDawson marked this pull request as draft August 24, 2024 23:38
@JamesDawson JamesDawson marked this pull request as ready for review August 25, 2024 11:54
Copy link

Code Coverage Summary Report - Linux (No TFM)

Summary
Generated on: 08/25/2024 - 11:57:00
Parser: Cobertura
Assemblies: 2
Classes: 2
Files: 2
Line coverage: 100% (4 of 4)
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 21
Covered branches: 0
Total branches: 0
Method coverage: Feature is only available for sponsors

Coverage

TestLib - 100%
Name Line Branch
TestLib 100% ****
TestLib.Class1 100%
TestLib.Tests - 100%
Name Line Branch
TestLib.Tests 100% ****
TestLib.Tests.Tests 100%

Copy link

Code Coverage Summary Report - Windows (net8.0)

Summary
Generated on: 8/25/2024 - 11:58:41 AM
Parser: Cobertura
Assemblies: 2
Classes: 2
Files: 2
Line coverage: 100% (4 of 4)
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 21
Covered branches: 0
Total branches: 0
Method coverage: Feature is only available for sponsors

Coverage

TestLib - 100%
Name Line Branch
TestLib 100% ****
TestLib.Class1 100%
TestLib.Tests - 100%
Name Line Branch
TestLib.Tests 100% ****
TestLib.Tests.Tests 100%

Copy link

Code Coverage Summary Report - Linux (net8.0)

Summary
Generated on: 08/25/2024 - 11:59:14
Parser: Cobertura
Assemblies: 2
Classes: 2
Files: 2
Line coverage: 100% (4 of 4)
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 21
Covered branches: 0
Total branches: 0
Method coverage: Feature is only available for sponsors

Coverage

TestLib - 100%
Name Line Branch
TestLib 100% ****
TestLib.Class1 100%
TestLib.Tests - 100%
Name Line Branch
TestLib.Tests 100% ****
TestLib.Tests.Tests 100%

@JamesDawson JamesDawson merged commit 78a92b4 into main Aug 26, 2024
12 checks passed
@JamesDawson JamesDawson deleted the feature/add-matrix-build branch August 26, 2024 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants