Skip to content

[anneal] Don't copy Lean build artifacts from ~/.anneal#3344

Merged
joshlf merged 1 commit into
mainfrom
Gks63dnqyjzxt6s6sgowdaz63rogw5kz3
May 6, 2026
Merged

[anneal] Don't copy Lean build artifacts from ~/.anneal#3344
joshlf merged 1 commit into
mainfrom
Gks63dnqyjzxt6s6sgowdaz63rogw5kz3

Conversation

@joshlf
Copy link
Copy Markdown
Member

@joshlf joshlf commented May 6, 2026

Prior to this change, Lake verification relied on recursively copying
the entire global precompiled toolchain package directory (~5,000
.olean files, ~5GB) into a build directory. This was obviously slow
and caused massive disk bloat.

In this commit, we instead:

  • Copy only those files which Lake will attempt to write, and symlink
    all other files. In practice, this means that only the smallest files
    are actually copied. (Note: Copying is necessary at all because Lake
    will write to some files in the directories of a package's
    dependencies if those dependencies are filesystem-local. Without
    copying, this would result in concurrent writes to the user-global
    ~/.anneal/toolchain directory.)
  • Mark the ~/.anneal/toolchain/<toolchain> directory as recursively
    read-only to ensure that any attempted writes fail loudly.

Release 0.1.0-alpha.22.


Latest Update: v4 — Compare vs v3

📚 Full Patch History

Links show the diff between the row version and the column version.

Version v3 v2 v1 Base
v4 vs v3 vs v2 vs v1 vs Base
v3 vs v2 vs v1 vs Base
v2 vs v1 vs Base
v1 vs Base
⬇️ Download this PR

Branch

git fetch origin refs/heads/Gks63dnqyjzxt6s6sgowdaz63rogw5kz3 && git checkout -b pr-Gks63dnqyjzxt6s6sgowdaz63rogw5kz3 FETCH_HEAD

Checkout

git fetch origin refs/heads/Gks63dnqyjzxt6s6sgowdaz63rogw5kz3 && git checkout FETCH_HEAD

Cherry Pick

git fetch origin refs/heads/Gks63dnqyjzxt6s6sgowdaz63rogw5kz3 && git cherry-pick FETCH_HEAD

Pull

git pull origin refs/heads/Gks63dnqyjzxt6s6sgowdaz63rogw5kz3

Stacked PRs enabled by GHerrit.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🤖 Optimistically Approved: Changes appear scoped. Final strict verification will occur in the Merge Queue.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.88%. Comparing base (c67c8ec) to head (2f1d4df).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3344   +/-   ##
=======================================
  Coverage   91.88%   91.88%           
=======================================
  Files          20       20           
  Lines        6076     6076           
=======================================
  Hits         5583     5583           
  Misses        493      493           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@joshlf joshlf force-pushed the Gks63dnqyjzxt6s6sgowdaz63rogw5kz3 branch from 344fa4d to 0f5260e Compare May 6, 2026 18:48
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🤖 Optimistically Approved: Changes appear scoped. Final strict verification will occur in the Merge Queue.

@joshlf joshlf changed the title [anneal] WIP [anneal] Don't copy Lean build artifacts from ~/.anneal May 6, 2026
@joshlf joshlf force-pushed the Gks63dnqyjzxt6s6sgowdaz63rogw5kz3 branch from 0f5260e to d59d607 Compare May 6, 2026 19:13
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🤖 Optimistically Approved: Changes appear scoped. Final strict verification will occur in the Merge Queue.

Prior to this change, Lake verification relied on recursively copying
the entire global precompiled toolchain package directory (~5,000
`.olean` files, ~5GB) into a build directory. This was obviously slow
and caused massive disk bloat.

In this commit, we instead:
- Copy only those files which Lake will attempt to write, and symlink
  all other files. In practice, this means that only the smallest files
  are actually copied. (Note: Copying is necessary *at all* because Lake
  will write to some files in the directories of a package's
  *dependencies* if those dependencies are filesystem-local. Without
  copying, this would result in concurrent writes to the user-global
  `~/.anneal/toolchain` directory.)
- Mark the `~/.anneal/toolchain/<toolchain>` directory as recursively
  read-only to ensure that any attempted writes fail loudly.

Release 0.1.0-alpha.22.

gherrit-pr-id: Gks63dnqyjzxt6s6sgowdaz63rogw5kz3
@joshlf joshlf force-pushed the Gks63dnqyjzxt6s6sgowdaz63rogw5kz3 branch from d59d607 to 2f1d4df Compare May 6, 2026 19:14
@joshlf joshlf enabled auto-merge May 6, 2026 19:14
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🤖 Optimistically Approved: Changes appear scoped. Final strict verification will occur in the Merge Queue.

@joshlf joshlf added this pull request to the merge queue May 6, 2026
Merged via the queue into main with commit be6f199 May 6, 2026
134 checks passed
@joshlf joshlf deleted the Gks63dnqyjzxt6s6sgowdaz63rogw5kz3 branch May 6, 2026 20:16
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.

2 participants