ci: add composer-normalize, conventional-pr-title, dclint; bind compose ports to localhost#41
Merged
Merged
Conversation
60ddb6b to
d18f8a3
Compare
…se ports to localhost Brings oce-cli-import-codes closer to parity with oce-cli-manage-users on the CI side, and incidentally fixes localhost-only port binding so dclint passes. New CI workflows (callers of openCoreEMR/github-workflows-public@0.0.4): - composer-normalize: composer normalize --dry-run (ergebnis/composer-normalize is already in dev deps) - conventional-pr-title: validates PR titles against the conventional-commits spec - dclint: lints compose.yml compose.yml changes (required to make dclint pass): - All published ports switched from short-form (- "80") to long-form with host_ip: 127.0.0.1, so the dev MySQL/CouchDB/etc. no longer expose to 0.0.0.0 - Added required name: oce-cli-import-codes - Alphabetized services and reordered service keys per dclint expected layout - Behavior change: anyone who relied on LAN access to the dev stack now needs an SSH tunnel or to set host_ip: 0.0.0.0 explicitly .dclintrc.json mirrors oce-cli-manage-users — disables the no-duplicate-exported-ports rule, which false-positives on long-form ports without a "published" field (Docker assigns each service a distinct random host port; dclint reads the published key as empty string and treats them as duplicates). Not added (and why): - composer-require-checker: needs both maglnet/composer-require-checker dev dep and a .composer-require-checker.json config file - hadolint: no Dockerfile* in the repo today Pre-existing (not addressed here): the phpunit and phpunit-coverage services in compose.yml reference dockerfile: Dockerfile.test, which does not exist. Hidden today because both services are under profiles: [test] and only run on explicit invocation. The structural refactor (move openemr/openemr to tools/openemr/ sub-vendor pattern, rewire compose.yml + Taskfile.yml + phpstan script) is deferred to a separate PR.
f0723a5 to
8822fd1
Compare
3 tasks
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
Brings
oce-cli-import-codescloser to parity withoce-cli-manage-userson the CI side, and incidentally fixes localhost-only port binding so dclint passes.New CI workflows
Callers of
openCoreEMR/github-workflows-public@0.0.4:composer normalize --dry-run(ergebnis/composer-normalizeis already in dev deps)compose.ymlcompose.yml changes (required to make dclint pass)
- "80") to long-form withhost_ip: 127.0.0.1, so the dev MySQL/CouchDB/etc. no longer expose to0.0.0.0.name: oce-cli-import-codes.Behavior change: anyone who relied on LAN access to the dev stack now needs an SSH tunnel or to set
host_ip: 0.0.0.0explicitly..dclintrc.jsonMirrors
oce-cli-manage-users. Disables theno-duplicate-exported-portsrule, which false-positives on long-form ports without apublishedfield (Docker assigns each service a distinct random host port; dclint reads the published key as empty string and treats them as duplicates).Not added (and why)
maglnet/composer-require-checkerdev dep and a.composer-require-checker.jsonconfig file. Add separately when ready.Dockerfile*in the repo today.Pre-existing issue uncovered (not in scope here)
The
phpunitandphpunit-coverageservices incompose.ymlreferencedockerfile: Dockerfile.test, which does not exist in the repo. Hidden today because both services are underprofiles: [test]and only run on explicit invocation. Worth a follow-up to either add the Dockerfile or remove the phantom services.The structural refactor (move
openemr/openemrtotools/openemr/sub-vendor pattern, rewirecompose.yml+Taskfile.yml+ phpstan script) is deferred to a separate PR.Test plan
task dev:startstill brings up the stack (ports now on 127.0.0.1)