Skip to content

ci: skip foundry.lock + .gitignore from soldeer publishes#57

Merged
thedavidmeister merged 3 commits into
mainfrom
2026-05-21-soldeerignore
May 21, 2026
Merged

ci: skip foundry.lock + .gitignore from soldeer publishes#57
thedavidmeister merged 3 commits into
mainfrom
2026-05-21-soldeerignore

Conversation

@thedavidmeister
Copy link
Copy Markdown
Contributor

@thedavidmeister thedavidmeister commented May 21, 2026

Adds .soldeerignore excluding foundry.lock and .gitignore from forge soldeer push.

Soldeer flags both filenames as sensitive and prompts interactively before continuing the push. CI doesn't have a TTY on stdin, so the prompt fails with error during IO operation for '': not connected and the whole publish aborts. The v0.1.0 publish has hit this twice already (runs 26237044461 and 26237910066).

Neither file actually contains secrets — they're just on soldeer's hardcoded sensitive-name list. Consumers of the package have no use for them either, so the simplest fix is to exclude them from the publish payload.

After merge, retagging v0.1.0 will retrigger the publish and should succeed.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated build configuration to improve CI/CD pipeline reliability and prevent prompt failures in automated environments.

Review Change Stack

Soldeer flags both as sensitive and prompts interactively on push.
CI has no TTY so the prompt fails with not connected and the publish
dies. Neither file is actually sensitive (no secrets) and consumers
have no use for them either, so the simplest fix is to exclude them
from the publish payload via .soldeerignore.
@thedavidmeister thedavidmeister self-assigned this May 21, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

Warning

Rate limit exceeded

@thedavidmeister has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 33 minutes and 10 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7e3f786b-3b0f-4477-a05f-e5c4ad25c485

📥 Commits

Reviewing files that changed from the base of the PR and between b6258b5 and c251c81.

📒 Files selected for processing (2)
  • .soldeerignore
  • REUSE.toml

Walkthrough

Updated .soldeerignore to exclude .gitignore and foundry.lock from interactive Soldeer push prompts, with comments noting that these files are non-sensitive and that CI environments lack TTY support for interactive confirmations.

Changes

Soldeer Configuration

Layer / File(s) Summary
Exclude sensitive files from interactive prompts
.soldeerignore
.soldeerignore is populated with .gitignore and foundry.lock entries to prevent interactive confirmation prompts in CI environments that lack TTY support.

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 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 accurately describes the main change: adding a .soldeerignore file to exclude foundry.lock and .gitignore from soldeer publishes to fix CI 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 2026-05-21-soldeerignore

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.soldeerignore:
- Line 1: Add the required REUSE headers to the top of .soldeerignore by
inserting SPDX-FileCopyrightText and SPDX-License-Identifier tags (e.g., add a
line with SPDX-FileCopyrightText: <year> <copyright holder> and a line with
SPDX-License-Identifier: <license-id>) so the REUSE linter recognizes the file;
ensure the headers are the very first non-blank lines in the file and use the
correct year, copyright holder, and license identifier for the project.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: c38634dc-f7ef-4fd8-8b92-d78200af216f

📥 Commits

Reviewing files that changed from the base of the PR and between b188835 and b6258b5.

📒 Files selected for processing (1)
  • .soldeerignore

Comment thread .soldeerignore Outdated
@@ -0,0 +1,7 @@
# Soldeer flags .gitignore and foundry.lock as "sensitive" and prompts
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Critical: Add required REUSE copyright and licensing headers.

The pipeline is failing because .soldeerignore lacks required REUSE compliance headers. Add SPDX-FileCopyrightText and SPDX-License-Identifier tags at the top of the file to satisfy the REUSE lint check.

📋 Proposed fix to add REUSE headers
+# SPDX-FileCopyrightText: 2026 Rain Language
+# SPDX-License-Identifier: CAL-1.0
+
 # Soldeer flags .gitignore and foundry.lock as "sensitive" and prompts
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Soldeer flags .gitignore and foundry.lock as "sensitive" and prompts
# SPDX-FileCopyrightText: 2026 Rain Language
# SPDX-License-Identifier: CAL-1.0
# Soldeer flags .gitignore and foundry.lock as "sensitive" and prompts
🧰 Tools
🪛 GitHub Actions: rainix / 2_rainix _ legal _ legal.txt

[error] 1-1: REUSE lint failed: missing copyright and licensing information for .soldeerignore. Add 'SPDX-FileCopyrightText' and 'SPDX-License-Identifier' tags.

🪛 GitHub Actions: rainix / rainix _ legal _ legal

[error] 1-1: REUSE lint failed: missing copyright and licensing information. Tool listed .soldeerignore as lacking required REUSE tags (SPDX-FileCopyrightText / SPDX-License-Identifier).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.soldeerignore at line 1, Add the required REUSE headers to the top of
.soldeerignore by inserting SPDX-FileCopyrightText and SPDX-License-Identifier
tags (e.g., add a line with SPDX-FileCopyrightText: <year> <copyright holder>
and a line with SPDX-License-Identifier: <license-id>) so the REUSE linter
recognizes the file; ensure the headers are the very first non-blank lines in
the file and use the correct year, copyright holder, and license identifier for
the project.

Matches the canonical pattern shared across rain.deploy, rain.factory,
rain.extrospection etc. — excludes the full set of dev-machinery files
(audit/, cache/, dependencies/, flake.*, slither.config.json, REUSE.toml,
etc.) that consumers of the package have no use for and that soldeer
would otherwise flag as sensitive on push.
reuse lint flagged the new .soldeerignore as missing copyright info. Add
it to the same blanket annotation as the other dev config files.
@thedavidmeister thedavidmeister merged commit 7ddfef1 into main May 21, 2026
4 checks passed
@github-actions
Copy link
Copy Markdown

@coderabbitai assess this PR size classification for the totality of the PR with the following criterias and report it in your comment:

S/M/L PR Classification Guidelines:

This guide helps classify merged pull requests by effort and complexity rather than just line count. The goal is to assess the difficulty and scope of changes after they have been completed.

Small (S)

Characteristics:

  • Simple bug fixes, typos, or minor refactoring
  • Single-purpose changes affecting 1-2 files
  • Documentation updates
  • Configuration tweaks
  • Changes that require minimal context to review

Review Effort: Would have taken 5-10 minutes

Examples:

  • Fix typo in variable name
  • Update README with new instructions
  • Adjust configuration values
  • Simple one-line bug fixes
  • Import statement cleanup

Medium (M)

Characteristics:

  • Feature additions or enhancements
  • Refactoring that touches multiple files but maintains existing behavior
  • Breaking changes with backward compatibility
  • Changes requiring some domain knowledge to review

Review Effort: Would have taken 15-30 minutes

Examples:

  • Add new feature or component
  • Refactor common utility functions
  • Update dependencies with minor breaking changes
  • Add new component with tests
  • Performance optimizations
  • More complex bug fixes

Large (L)

Characteristics:

  • Major feature implementations
  • Breaking changes or API redesigns
  • Complex refactoring across multiple modules
  • New architectural patterns or significant design changes
  • Changes requiring deep context and multiple review rounds

Review Effort: Would have taken 45+ minutes

Examples:

  • Complete new feature with frontend/backend changes
  • Protocol upgrades or breaking changes
  • Major architectural refactoring
  • Framework or technology upgrades

Additional Factors to Consider

When deciding between sizes, also consider:

  • Test coverage impact: More comprehensive test changes lean toward larger classification
  • Risk level: Changes to critical systems bump up a size category
  • Team familiarity: Novel patterns or technologies increase complexity

Notes:

  • the assessment must be for the totality of the PR, that means comparing the base branch to the last commit of the PR
  • the assessment output must be exactly one of: S, M or L (single-line comment) in format of: SIZE={S/M/L}
  • do not include any additional text, only the size classification
  • your assessment comment must not include tips or additional sections
  • do NOT tag me or anyone else on your comment

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

Tip

For best results, initiate chat on the files or code changes.

SIZE=S

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