leanprover / leanprover/lean4

Should `lake` notice changes to (some?) environment variables when deciding whether to rebuild.

Open
#4,297 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Lake P-medium RFC
Dominant language
Lean
Stars
9.2k
Forks
990
Avg merge
1d 17h
Merged PRs (30d)
175

Description

I recently encountered a case where:

lake build          # fails
lake env lake build # fails, replaying the error from the previous build
lake clean
lake env lake build # succeeds, because the build cared about one of the environment variables set by `lake env`

I'm not sure what the desired behaviour is here. Perhaps lake should include the values of lean-relevant environment variables, and if these change trigger a rebuild?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the reported sequence with lake build, lake env lake build, and lake clean, starting from the environment-variable behavior described in the issue. Determine which environment changes should invalidate prior build results, then define regression coverage and the expected rebuild behavior; the issue does not name implementation files or existing tests.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.