From 8d5d02506ace9a43a6e627dacf7cf78f5a8eba51 Mon Sep 17 00:00:00 2001 From: Trevor Turk Date: Tue, 18 Nov 2025 11:50:54 -0600 Subject: [PATCH] Add Zeitwerk eager loading check to CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a validation step that runs Zeitwerk::Loader.eager_load_all after dependency installation to catch autoloading issues early in the CI pipeline. This check helps prevent production crashes by detecting: - Inflector configuration errors - Constant definition issues - Missing conditional checks for optional dependencies The check runs quickly (~2 seconds) before the test matrix, providing rapid feedback on structural issues. Note: This check currently fails due to upstream ruby_llm ActiveRecord dependency issues. See: - https://github.com/crmne/ruby_llm/pull/504 - https://github.com/crmne/ruby_llm/pull/505 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .github/workflows/cicd.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 7e007b0..53529c5 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -30,6 +30,9 @@ jobs: run: | bundle install + - name: Check Zeitwerk eager loading + run: bundle exec ruby -e "require 'ruby_llm/mcp'; Zeitwerk::Loader.eager_load_all" + - name: Install Bun dependencies for test fixtures run: | cd spec/fixtures/typescript-mcp && bun install