Skip to content

chore(m3): CodeRabbit CHANGELOG nits + CI anchor build log artifact#16

Merged
graveyieldprotocol merged 1 commit into
mainfrom
chore/m3-followups
May 14, 2026
Merged

chore(m3): CodeRabbit CHANGELOG nits + CI anchor build log artifact#16
graveyieldprotocol merged 1 commit into
mainfrom
chore/m3-followups

Conversation

@graveyieldprotocol

@graveyieldprotocol graveyieldprotocol commented May 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

Two small follow-ups before m5 work begins.

1. CHANGELOG.md fixes (CodeRabbit's 2 nits from PR #15)

Both findings were minor 🟡 doc-accuracy issues, no code defects. Addressed:

2. CI workflow gains anchor-build log artifact upload

The current CI workflow runs anchor build and on failure the only diagnostic surface is the GitHub Actions web UI log page. The Composio integration this repo uses for programmatic CI inspection does not expose log download (verified across multiple action names — all return "not available"). So debugging the post-PR-#15 anchor build regression has been blind.

This PR teases anchor build's stdout/stderr to /tmp/anchor-build.log and adds an actions/upload-artifact@v4 step that runs if: failure(). After this PR lands and a future CI run fails on anchor build, the log artifact will be downloadable for offline diagnosis.

Why two changes in one PR

Both are small, neither touches program source, and the anchor build log artifact is the diagnostic mechanism we'll use to unblock m5 work. Keeping them together avoids two trivial PRs.

Verification

No source changes. Locally on rust 1.91.1 + anchor 0.32.1 + solana 3.0.10 + platform-tools v1.54:

  • CHANGELOG.md renders correctly (Markdown syntax preserved)
  • ci.yml: valid YAML, no behavior change other than added tee + artifact upload
  • cargo fmt / clippy / tests / cargo-build-sbf: still clean (no source touched, but verified the working tree)

Test plan

Refs

Summary by CodeRabbit

  • Chores

    • Enhanced CI workflow to capture full build logs and upload them as artifacts when failures occur, enabling improved failure diagnostics with automatic 7-day retention policy.
  • Documentation

    • Updated release documentation for v1.0.6 milestone 3 with refined implementation details, account handling clarifications, and comprehensive verification status from local and CI environments.

Review Change Stack

…g artifact

Two follow-ups from PR #15's review and post-merge investigation:

1. CHANGELOG.md fixes (CodeRabbit's 2 minor findings on PR #15):
   - "init_if_needed Anchor feature" added section rewritten to describe
     the Anchor 0.32-compatible lazy init via manual create_account CPI
     that actually shipped (PR #15's design replaced PR #12's
     init_if_needed approach to satisfy Anchor 0.32's "Cannot use init
     on SystemAccount" check).
   - "lp_holder_pool_vault migrated to SystemAccount" entry split into
     two cases: claim_lp_proceeds gets SystemAccount (read-only, safe
     under 0.32); salvage_pool gets UncheckedAccount + manual CPI.
   - Verification status section updated to reflect locally-passed
     checks (fmt, clippy, 20/20 tests, BPF compile) plus the known CI
     anchor build failure being tracked.

2. CI workflow gains an artifact upload on anchor build failure.
   The anchor build step now tees stdout/stderr to /tmp/anchor-build.log,
   and on failure that file is uploaded as a workflow artifact via
   actions/upload-artifact@v4. Needed because the Composio integration
   this repo uses for programmatic CI inspection does not expose log
   download endpoints; the only way to see the actual anchor build
   error message has been the GitHub Actions web UI. After this PR
   merges and a future CI run fails on anchor build, the log artifact
   can be downloaded for offline diagnosis.

No source changes. No on-chain semantics change.
@coderabbitai

coderabbitai Bot commented May 14, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 631c0a09-83bc-433b-96d3-c4a2f6fc1445

📥 Commits

Reviewing files that changed from the base of the PR and between 4cdd1a9 and 67011c2.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • CHANGELOG.md

📝 Walkthrough

Walkthrough

This PR adds CI build-log capture for failure diagnostics and updates CHANGELOG.md to document the Anchor 0.32-compatible lazy vault initialization approach, refine account-type handling, and report verified local build results plus the current CI IDL generation failure.

Changes

Build Infrastructure and Verification

Layer / File(s) Summary
CI Build Logging
.github/workflows/ci.yml
The anchor-build job output is now piped through tee to capture logs to /tmp/anchor-build.log, with a new conditional step that uploads the log as a anchor-build-log artifact on job failure with 7-day retention for improved diagnostics.
Implementation and Verification Documentation
CHANGELOG.md
Implementation details are clarified: lazy vault initialization uses a manual create_account CPI when the PDA has zero lamports (Anchor 0.32 compatible), replacing the prior init_if_needed approach. Account types are refined: claim_lp_proceeds uses SystemAccount while salvage_pool uses UncheckedAccount with PDA seed validation. Verification status is updated with concrete local test and build timing results, and notes the specific CI failure at the post-cargo-build-sbf IDL generation phase.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A log to catch the build that breaks,
And docs to show what each one makes—
Lazy vaults dance in CPI light,
While changelog charms make futures bright! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and accurately summarizes both main changes: CHANGELOG updates and CI artifact logging for anchor build failures.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/m3-followups

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@graveyieldprotocol graveyieldprotocol merged commit 10a0fa2 into main May 14, 2026
7 of 8 checks passed
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