Skip to content

refactor: migrate to cpp-core submodule and enforce pin in CI#8

Merged
efvincent merged 2 commits into
mainfrom
chore/core-submodule-migration-pr
Jul 22, 2026
Merged

refactor: migrate to cpp-core submodule and enforce pin in CI#8
efvincent merged 2 commits into
mainfrom
chore/core-submodule-migration-pr

Conversation

@efvincent

Copy link
Copy Markdown
Owner

Summary

This PR completes the AoC refactor to consume cpp-core through a pinned git submodule and adds CI enforcement for the submodule pin contract.

What changed

  • Added cpp-core as a submodule at third_party/cpp-core and pinned it to release tag v1.0.1.
  • Reworked module build discovery in makefile to compile AoC modules plus core modules from the submodule source root.
  • Removed vendored duplicated core modules from src/base/.
  • Updated puzzle module debug-header includes to use core_debug.h via include path.
  • Added submodule pin verification script: ci/verify_cpp_core_submodule.sh.
  • Added make target: make verify-submodule-pin.
  • Updated docs:
    • README.md with submodule setup, verification, and layout updates.
    • docs/CONTRIBUTING.md with submodule contract and bump workflow.
    • docs/Doxyfile input to include third_party/cpp-core/src.
  • Added GitHub Actions workflow:
    • .github/workflows/verify-cpp-core-pin.yml
    • Runs make verify-submodule-pin on pull_request and push to main.

Validation

  • make verify-submodule-pin
  • make debug
  • make release
  • make lto
  • make instrument
  • ./build/aoc_worker_debug 2015 1 1
  • make docs

Smoke output for day 1 part 1 remains unchanged (138).

Notes

  • The submodule is intentionally pinned to a released semver tag, not a floating commit, per the downstream contract.

@efvincent
efvincent merged commit 98ed36e into main Jul 22, 2026
1 check passed
@efvincent
efvincent deleted the chore/core-submodule-migration-pr branch July 22, 2026 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant