Skip to content

ci(Stryker) : Stryker Mutator #14

ci(Stryker) : Stryker Mutator

ci(Stryker) : Stryker Mutator #14

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 }}