Fix component sizes not calculated or pushed to README.md on push to main#36
Merged
Fix component sizes not calculated or pushed to README.md on push to main#36
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: #35
…main Three root causes identified and fixed: 1. Workflow path triggers missing measurement scripts - changes to measure-disk-space.sh and update-readme-sizes.sh did not re-trigger the workflow, so the issue-31 sed fix was never executed. 2. Fragile sed-based JSON manipulation - replaced with Python's json module which handles all special characters correctly (C/C++, etc.). 3. Pipeline masking script failures - added set -o pipefail so script crashes propagate through the tee pipeline. Includes case study documentation and test script. Fixes #35 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This reverts commit b3a4cc3.
Member
Author
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
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
Fixes #35 - Component sizes were not being calculated or pushed to README.md on push to main branch.
Root Causes Identified
Three interacting root causes were discovered through CI log analysis:
Incomplete workflow path triggers — The
measure-disk-space.ymlworkflow only triggered on changes toscripts/ubuntu-24-server-install.sh,Dockerfile, and the workflow file itself. Changes toscripts/measure-disk-space.sh(the actual measurement script) did not trigger the workflow. This meant the issue-31 sed delimiter fix was never executed.Fragile sed-based JSON manipulation — The
add_measurement()function usedsedto build JSON, which broke on component names containing special characters likeC/C++ Tools. Even with the|delimiter fix from issue-31, this approach remained fragile.Pipeline masking script failures — The workflow step piped the script through
teewithoutpipefail, so when the script crashed,teestill exited 0, hiding the failure.Changes
.github/workflows/measure-disk-space.yml: Addedscripts/measure-disk-space.shandscripts/update-readme-sizes.shto path triggers; addedset -o pipefailto measurement stepscripts/measure-disk-space.sh: Replaced sed-based JSON manipulation with Python'sjsonmodule for robustnessdocs/case-studies/issue-35/README.md: Full case study with timeline, root cause analysis, and evidence from CI logsexperiments/test-json-manipulation.sh: Test script verifying the fix works with all component names.changeset/fix-measurement-workflow.md: Changeset for patch releaseTest plan
experiments/test-json-manipulation.shpasses — all 13 components includingC/C++ Tools (CMake, Clang, LLVM, LLD)recorded correctlymeasure-disk-spaceworkflow triggers and completes successfully🤖 Generated with Claude Code