Skip to content

bin/install: meet the documented behaviour - #89

Merged
1-Bart-1 merged 2 commits into
mainfrom
repo-script/install
Oct 22, 2026
Merged

1-Bart-1 merged 2 commits into
mainfrom
repo-script/install

Conversation

@ufechner7

Copy link
Copy Markdown
Member

Brings bin/install in line with the repository scripts page of KiteUtils.jl. The structure follows KiteUtils' bin/install, which already meets the page.

Requirements

Requirement Before Now
No dialog without parameters asked whether to delete the caches and which Julia version to use met: asks nothing
Terminate if no supported Julia version met (hard-coded 1.12/1.13) met: the supported versions are read from Manifest-v*.toml.default
Back up manifests that are no longer needed not met: deleted them met: a plain Manifest.toml, a locally changed Manifest-v<version>.toml and manifests in examples/, test/ are moved to *.bak
Copy the default manifest met met
Copy *.default config files if the local file is missing not met met for every tracked *.default file (.JETLSConfig.toml, data/gui.yaml, examples/LocalPreferences.toml)
Resolve met met
Instantiate and precompile main and examples met met, with strict=true
Do not precompile test and docs by default met met
Fail with an error code if a step fails not met: failed resolves were only listed in a report, and a "clean retry" silently dropped the default manifest met: set -eu, no retry
Nothing outside the repo changed except the depot not met: juliaup add/default, Revise in the global environment, alias jl in .bashrc met: these moved to -i
-i: juliaup and disk-space check done unconditionally met, only with -i
-i: install or select Julia partly (always switched the juliaup default) met: juliaup add, juliaup override set for this repository
-i: alias jl, Revise, precompile test, run tests alias and Revise always, no test options met
-i: precompile docs – documented deviation: there is no docs environment
TerminalMenus with fallback not met met
-h, --help, -y met met

Documented deviations (in the help text)

  • The V3Kite cache files are deleted from the scratchspace in the Julia depot (bin/delete_cache_files --yes). With -i this is a question, default yes.
  • A stale bin/kps-image-<version>.so is deleted.
  • The beam kite's surface-resolved aero geometry (not in git) is generated again.
  • --update stays, because bin/create_sys_image --update uses it: the default manifest is not used and the main project is updated.
  • +<version> and --version <version> choose the Julia version for this run. bin/create_sys_image already passed +<version>, which the old script rejected.

Also changed

  • examples/LocalPreferences.toml.default sets precompile_workload = true (was false). bin/install now creates examples/LocalPreferences.toml from it, so the examples keep V3Kite's precompile workload.
  • CHANGELOG entries under Unreleased.
  • The final using … load checks are gone; the strict precompile catches the same failures.

Verification

  • bash -n bin/install; shellcheck is not installed
  • bin/install -h and bin/install --help print the help and exit 0; an unknown option exits 1
  • bin/install -y on Julia 1.13 finished successfully. Afterwards only the three files of this PR differed from main among tracked files; the new untracked files are the copied default files, the manifest, a Manifest-v1.13.toml.bak and install_version_1.13.txt, all gitignored. After the run, the help text and a comment were corrected (examples and test are workspace members), and the rename of a plain Manifest.toml now targets the root folder; that rename only runs with --update.
  • -i was not run, because it needs an interactive terminal.

🤖 Generated with Claude Code

ufechner7 and others added 2 commits October 21, 2026 21:49
Follow the repository scripts page of KiteUtils: no dialog and no change
outside the repository and the Julia depot without parameters, -i for the
end-user dialog, stale manifests backed up, *.default files copied, and a
failing step stops the script. Keep the V3Kite-specific steps and the
--update flag that bin/create_sys_image uses, and accept the +<version>
it passes. The examples default preferences keep the precompile workload.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ufechner7
ufechner7 requested a review from 1-Bart-1 October 21, 2026 19:55
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@1-Bart-1
1-Bart-1 merged commit 10349a5 into main Oct 22, 2026
2 checks passed
@1-Bart-1
1-Bart-1 deleted the repo-script/install branch October 22, 2026 15:06
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.

3 participants