ci(Stryker) : Stryker Mutator #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Stryker Mutator (PR Check) | |
on: | |
pull_request: | |
paths: | |
- 'src/**' | |
- './.github/workflows/stryker-pr-check.yml' # TODO: Remove after Testing | |
- './.github/workflows/stryker-full-report.yml' # TODO: Remove after Testing | |
- './.github/actions/run-dotnet-stryker/action.yml' # TODO: Remove after Testing | |
concurrency: | |
group: "${{ github.workflow }}-${{ github.ref }}" | |
cancel-in-progress: true | |
jobs: | |
stryker-matrix: | |
name: Stryker - ${{ matrix.job_name }} | |
strategy: | |
fail-fast: false | |
matrix: | |
working_directory: | |
[ | |
# -- API -- # | |
service/notification-api/src/FamilyHubs.Notification.Api, | |
service/notification-api/src/FamilyHubs.Notification.Core, | |
service/notification-api/shared/FamilyHubs.Notification.Api.Contracts, | |
service/idam-api/src/FamilyHubs.Idam.Api, | |
service/idam-api/src/FamilyHubs.Idam.Core, | |
service/service-directory-api/src/FamilyHubs.ServiceDirectory.Api, | |
service/service-directory-api/src/FamilyHubs.ServiceDirectory.Core, | |
service/referral-api/src/FamilyHubs.Referral.Api, | |
service/referral-api/src/FamilyHubs.Referral.Core, | |
service/report-api/src/FamilyHubs.Report.Api, | |
service/report-api/src/FamilyHubs.Report.Core, | |
# -- API -- # | |
# -- Function -- # | |
function/open-referral-function/src/FamilyHubs.OpenReferral.Function, | |
# -- Function -- # | |
# -- UI -- # | |
ui/connect-ui/src/FamilyHubs.Referral.Web, | |
ui/connect-ui/src/FamilyHubs.Referral.Core, | |
ui/find-ui/src/FamilyHubs.ServiceDirectory.Web, | |
ui/find-ui/src/FamilyHubs.ServiceDirectory.Core, | |
ui/idam-maintenance-ui/src/FamilyHubs.Idams.Maintenance.UI, | |
ui/idam-maintenance-ui/src/FamilyHubs.Idams.Maintenance.Core, | |
ui/manage-ui/src/FamilyHubs.ServiceDirectory.Admin.Web, | |
ui/manage-ui/src/FamilyHubs.ServiceDirectory.Admin.Core, | |
# -- UI -- # | |
# -- Shared -- # | |
shared/referral-shared/src/FamilyHubs.ReferralService.Shared, | |
shared/service-directory-shared/src/FamilyHubs.ServiceDirectory.Shared, | |
shared/shared-kernel/src/EntityFrameworkCore.DataEncryption, | |
shared/shared-kernel/src/fh-shared-kernel.shared-kernel, | |
shared/web-components/src/FamilyHubs.SharedKernel.Razor | |
# -- Shared -- # | |
] | |
include: | |
# -- API -- # | |
- working_directory: service/notification-api/src/FamilyHubs.Notification.Api | |
job_name: "Notification API - API" | |
- working_directory: service/notification-api/src/FamilyHubs.Notification.Core | |
job_name: "Notification API - Core" | |
- working_directory: service/notification-api/shared/FamilyHubs.Notification.Api.Contracts | |
job_name: "Notification API - Contracts" | |
- working_directory: service/idam-api/src/FamilyHubs.Idam.Api | |
job_name: "IdAM API - API" | |
- working_directory: service/idam-api/src/FamilyHubs.Idam.Core | |
job_name: "IdAM API - Core" | |
- working_directory: service/service-directory-api/src/FamilyHubs.ServiceDirectory.Api | |
job_name: "Service Directory API - API" | |
- working_directory: service/service-directory-api/src/FamilyHubs.ServiceDirectory.Core | |
job_name: "Service Directory API - Core" | |
- working_directory: service/referral-api/src/FamilyHubs.Referral.Api | |
job_name: "Referral API - API" | |
- working_directory: service/referral-api/src/FamilyHubs.Referral.Core | |
job_name: "Referral API - Core" | |
- working_directory: service/report-api/src/FamilyHubs.Report.Api | |
job_name: "Report API - API" | |
- working_directory: service/report-api/src/FamilyHubs.Report.Core | |
job_name: "Report API - Core" | |
# -- API -- # | |
# -- Function -- # | |
- working_directory: function/open-referral-function/src/FamilyHubs.OpenReferral.Function | |
job_name: "Open Referral Function - Function" | |
# -- Function -- # | |
# -- UI -- # | |
- working_directory: ui/connect-ui/src/FamilyHubs.Referral.Web | |
job_name: "Connect UI - Web" | |
- working_directory: ui/connect-ui/src/FamilyHubs.Referral.Core | |
job_name: "Connect UI - Core" | |
- working_directory: ui/find-ui/src/FamilyHubs.ServiceDirectory.Web | |
job_name: "Find UI - Web" | |
- working_directory: ui/find-ui/src/FamilyHubs.ServiceDirectory.Core | |
job_name: "Find UI - Core" | |
- working_directory: ui/idam-maintenance-ui/src/FamilyHubs.Idams.Maintenance.UI | |
job_name: "IdAM Maintenance UI - Web" | |
- working_directory: ui/idam-maintenance-ui/src/FamilyHubs.Idams.Maintenance.Core | |
job_name: "IdAM Maintenance UI - Core" | |
- working_directory: ui/manage-ui/src/FamilyHubs.ServiceDirectory.Admin.Web | |
job_name: "Manage UI - Web" | |
- working_directory: ui/manage-ui/src/FamilyHubs.ServiceDirectory.Admin.Core | |
job_name: "Manage UI - Core" | |
# -- UI -- # | |
# -- Shared -- # | |
- working_directory: shared/referral-shared/src/FamilyHubs.ReferralService.Shared | |
job_name: "Referral Shared - Shared" | |
- working_directory: shared/service-directory-shared/src/FamilyHubs.ServiceDirectory.Shared | |
job_name: "Service Directory Shared - Shared" | |
- working_directory: shared/shared-kernel/src/EntityFrameworkCore.DataEncryption | |
job_name: "Shared Kernel - Data Encryption" | |
- working_directory: shared/shared-kernel/src/fh-shared-kernel.shared-kernel | |
job_name: "Shared Kernel - Shared" | |
- working_directory: shared/web-components/src/FamilyHubs.SharedKernel.Razor | |
job_name: "Web Components Shared - Razor" | |
# -- Shared -- # | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: '0' | |
- name: Setup .NET ${{ vars.DOTNET_VERSION_V8 }} | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: ${{ vars.DOTNET_VERSION_V8 }} | |
- name: Install & Configure SpatiaLite | |
if: ${{ startsWith(matrix.job_name, 'Service Directory API') || startsWith(matrix.job_name, 'Referral API') }} | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install libspatialite-dev libsqlite3-mod-spatialite -y | |
sudo ldconfig "/usr/lib/x86_64-linux-gnu/mod_spatialite.so" | |
- name: Run Stryker Mutator | |
uses: ./.github/actions/run-dotnet-stryker | |
with: | |
working_directory: ${{ github.workspace }}/src/${{ matrix.working_directory }} | |
config_path: ${{ github.workspace }}/src/${{ matrix.working_directory }}/stryker-config.json | |
diff_only: true | |
artifact: ${{ matrix.job_name }} |