feat: CI staging deploy trigger, config layout refactor, and v0.4.0 source improvements#8
Draft
gkostkowski wants to merge 32 commits intoOP-TED:developfrom
Draft
feat: CI staging deploy trigger, config layout refactor, and v0.4.0 source improvements#8gkostkowski wants to merge 32 commits intoOP-TED:developfrom
gkostkowski wants to merge 32 commits intoOP-TED:developfrom
Conversation
…to avoid shadowing Co-authored-by: gkostkowski <12532923+gkostkowski@users.noreply.github.com>
Fix variable shadowing in pytest_configure hook
ci(sonarcloud): make SonarCloud scan conditional on SONAR_TOKEN
…ation-hardening ops: containerization hardening
…ytest config Merge of PR#10 (feature/ERE1-123): fixes variable shadowing in pytest_configure. Conflict resolved by preserving HEAD's TEST_RESOURCES_DIR path and encoding="utf-8".
Merge of PR#21 (feature/ERS1-124/code-formatting). Conflicts resolved: kept HEAD config paths (config/ not infra/config/) which were updated by the infra layout refactor after PR#21 branched.
Addresses the SonarQube quality gate failure from PR#21 (69% coverage on new code). New test modules: - test/unit/adapters/test_utils.py: message parsing (get_request/response_from_message) - test/unit/adapters/test_adapter_factories.py: build_rdf_mapper factory - test/unit/entrypoints/test_queue_worker.py: RedisQueueWorker with mocked Redis - test/unit/utils/test_logging.py: configure_logging and TRACE level - test/unit/services/test_services_factories.py: build_entity_resolver (in-memory + persistent DuckDB) - test/unit/test_models.py: MentionLink/ResolutionResult edge cases + app.main() failure paths Extended test files: - stubs.py: add StubRDFMapper and find_by_id to InMemoryMentionRepository - test_entity_resolution_service.py: EntityResolutionService process_request paths - test_duckdb_adapters.py: load_all and save_all([]) coverage Coverage: 61% → 85% (unit + BDD combined)
Renames LOG_LEVEL → ERE_LOG_LEVEL to match the ERSys unified .env.example, allowing integration tests to run against the shared ERSys infrastructure without any compose-level variable mapping. Changes: - src/ere/utils/logging.py: read ERE_LOG_LEVEL instead of LOG_LEVEL - src/ere/entrypoints/app.py: update env var name in docstring - demo/demo.py: read ERE_LOG_LEVEL instead of LOG_LEVEL - test/unit/utils/test_logging.py: update env var references - infra/.env.example: new file, ERE-relevant subset of ERSys .env.example - infra/compose.dev.yaml: remove LOG_LEVEL mapping (no longer needed)
AGENTS.md (and its CLAUDE.md mirror) now contains ERE-specific guidance: commits/PR rules, dev workflow, make targets reference, architecture rules, memory conventions, and gotchas. Replaces GitNexus-only boilerplate. Also aligns dev tooling: - Makefile: test-integration depends on check-env; test target sources .env - infra/.env.example: REDIS_HOST defaults to localhost for standalone dev - test/e2e/test_app.py: replace walrus operator with explicit env default
…dling - tox py312: add -m "not integration" so CI unit runs need no Redis - workflow: copy .env.example to infra/.env instead of deleting it; set REDIS_HOST/PORT/PASSWORD explicitly on the tox step so passenv receives the correct values for the passwordless CI Redis - test/e2e: restore walrus guard so REDIS_PASSWORD is only monkeypatched when present in the environment (avoids "changeme" default in CI) - test_logging: remove unused `call` and `pytest` imports (pylint/ruff) - infra/.env.example: fix stale comment referencing removed LOG_LEVEL mapping
Feature/upgrade to 0.4.0
Feature/upgrade to 0.3.0
…patch ci: ERS1-164 — rename workflow to CI and add staging deploy dispatch
devops: optimize CI workflow and Docker build
chore: update references to entity-resolution-spec repository
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
code-quality.yaml→ci.yaml): added atrigger-staging-deployjob that automatically triggers a staging deployment on push to
develop. Also fixedSonarCloud token detection (step output instead of env var) and made Redis env vars
explicit.
infra/config/→config/at repo root; renameddocker-compose.yml→compose.dev.yaml; added.dockerignoreand.gitattributes.CLAUDE.md/AGENTS.mdwith agent operating instructionsand six GitNexus skill files under
.claude/skills/gitnexus/.queue_workerswitches to blockingbrpop; logging env varcanonicalised to
ERE_LOG_LEVEL; cluster repo save fixed inentity_resolution_service; adapter imports and factory patterns cleaned up.pyproject.tomlandpoetry.lockupdated.