ci: KEEP-1500 add maintainability workflow for repo health checks#413
Open
ci: KEEP-1500 add maintainability workflow for repo health checks#413
Conversation
Runs 10 parallel checks on PRs to staging: compose validation, makefile dry-run, fork marker integrity, shellcheck, actionlint, hadolint, dockerfile COPY validation, env sync, cross-compose consistency, and plugin discovery integrity.
5093c5d to
faebb48
Compare
- Fix hadolint Docker invocation in workflow (pass args correctly) - Fix shellcheck warnings: separate declare/assign in deploy scripts, quote command substitutions, remove unused MIN_CPU_CORES variable - Normalize fork marker end syntax from 'end custom keeperhub code' to 'end keeperhub code' across 14 files, add missing start marker in edit-connection-overlay, remove orphan end marker in action-config
- Pin npm global installs: pnpm@9, tsx@4 - Add SHELL pipefail before piped RUN instruction (DL4006) - Fix read without -r flag (SC2162) - Add .hadolint.yaml to suppress DL3018 (Alpine package pinning is tied to base image tag, not independently meaningful) - Mount hadolint config in CI workflow
Use dorny/paths-filter to skip jobs when their relevant files are untouched. Jobs with reverse dependencies (fork-markers, dockerfile-sources, env-sync) always run.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
maintainability.ymlworkflow that runs 10 parallel repo health checks on PRs to stagingdorny/paths-filter@v3to skip jobs when their relevant files are untouched in the PRPath filtering
Jobs are gated on a lightweight
changesdetection job that uses the GitHub API (no checkout) to determine which files were modified. Only jobs whose relevant files changed will run:docker-compose*.ymlMakefile**/*.sh.github/workflows/****/Dockerfile*,.hadolint.yamlkeeperhub/plugins/**,plugins/**Three jobs always run because they have reverse dependencies -- the files they validate can break without being directly modified:
process.env.*referencesTest plan