diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..eebcdedb94 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,27 @@ +# https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners +# Owner determined from HMCTS product ownership in cnp-flux-config and local chart maintainer metadata. + +* @hmcts/cdm + +# CI/CD and repository control files. +/.github/ @hmcts/cdm +/.github/workflows/ @hmcts/cdm + +# Deployment and runtime configuration. +/charts/ @hmcts/cdm +/infrastructure/ @hmcts/cdm +/Dockerfile @hmcts/cdm +/Jenkinsfile* @hmcts/cdm +/acb.tpl.yaml @hmcts/cdm +/docker-compose.yml @hmcts/cdm + +# Build and dependency control files. +/build.gradle @hmcts/cdm +/settings.gradle @hmcts/cdm +/gradle/ @hmcts/cdm +/gradlew @hmcts/cdm +/gradlew.bat @hmcts/cdm +/package.json @hmcts/cdm +/package-lock.json @hmcts/cdm +/yarn.lock @hmcts/cdm +/.nvmrc @hmcts/cdm diff --git a/Jenkinsfile_CNP b/Jenkinsfile_CNP index 54452e7118..655ac56514 100644 --- a/Jenkinsfile_CNP +++ b/Jenkinsfile_CNP @@ -11,7 +11,7 @@ properties( ] ) -@Library("Infrastructure@2.4.0") +@Library("Infrastructure@2.4.4") import uk.gov.hmcts.contino.GradleBuilder def type = "java" diff --git a/Jenkinsfile_nightly b/Jenkinsfile_nightly index 9757a161a5..46f6cb6762 100644 --- a/Jenkinsfile_nightly +++ b/Jenkinsfile_nightly @@ -6,7 +6,7 @@ properties([ pipelineTriggers([cron('H 17 * * 1-5')]) ]) -@Library("Infrastructure@2.4.0") +@Library("Infrastructure@2.4.4") def type = "java" def product = "ccd" diff --git a/docs/skills/codeowners/SKILL.md b/docs/skills/codeowners/SKILL.md new file mode 100644 index 0000000000..fd97a6951a --- /dev/null +++ b/docs/skills/codeowners/SKILL.md @@ -0,0 +1,28 @@ +--- +name: codeowners-maintenance +description: Maintain CODEOWNERS and reviewer ownership for this HMCTS repository. +--- + +# CODEOWNERS Maintenance + +Use this skill when updating `.github/CODEOWNERS`, GitHub Actions workflows, build files, dependency configuration, Helm charts, Jenkins files, Docker files, or infrastructure in this repository. + +## Current Owners + +The repository code owner is `@hmcts/cdm`. + +Ownership evidence: +- `cnp-flux-config/CODEOWNERS` maps CCD, AAC, CPO, and TS product areas to `@hmcts/cdm`. +- Local Helm chart maintainer metadata identifies these services as HMCTS CCD, CDM, CPO, or TS maintained services. + +## Maintenance Rules + +- Keep `.github/workflows/` explicitly owned by `@hmcts/cdm`. +- Keep `.github/`, deployment configuration, runtime configuration, build files, and dependency control files owned by `@hmcts/cdm`. +- Prefer GitHub teams over individual users. +- Do not add placeholder users or teams. If ownership changes, update CODEOWNERS only after confirming the GitHub team from existing HMCTS repository or organisation evidence. +- When adding new sensitive paths, add explicit CODEOWNERS patterns for them even when the default `*` entry already covers them. + +## Rationale + +GitHub Actions workflows can change CI/CD execution, credentials, publishing, and deployment behaviour. Explicit workflow ownership ensures sensitive CI/CD changes require review from the maintainers responsible for this service.