You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR prunes the old `LinearAlgebra` module based on an environment
variable that is set in `.ci/run_tests.jl`. Hopefully, this would mean
that tests that are being run without this environment variable would
run as expected without precompilation issues.
The goal of this PR is to ensure that when julia is being built with the
master branch of `LinearAlgebra`, the tests would work without the need
for pruning (i.e., we want to fix the test failures in
JuliaLang/julia#58242).
This would also mean that to run the tests locally, one would need to
set the `JULIA_PRUNE_OLD_LA` environment variable to `true`.
(cherry picked from commit 87d4c8b)
Copy file name to clipboardExpand all lines: README.md
+29-2Lines changed: 29 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,10 +37,37 @@ This package performs some type piracy and is also included in the sysimage, whi
37
37
To use a development version of this package, you can choose one of the following methods:
38
38
39
39
1.**Change the UUID in the project file and load the package:**
40
-
This approach will produce warnings and may lead to method ambiguities between the development version and the one in the sysimage, but it can be used for basic experimentation.
40
+
41
+
Change the UUID line in `Project.toml` as
42
+
```diff
43
+
- uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
44
+
+ uuid = "27e2e46d-f89d-539d-b4ee-838fcccc9c8e"
45
+
```
46
+
47
+
Start `julia` as
48
+
```console
49
+
JULIA_PRUNE_OLD_LA=true julia +nightly --compiled-modules=existing --project
50
+
```
51
+
where it is assumed that one is already within the `LinearAlgebra` directory (otherwise, adjust
52
+
the project path accordingly). The `julia +nightly` command above assumes that `juliaup` is being used
53
+
to launch `julia`, but one may substitute this with the path to the julia executable.
54
+
55
+
Within the `julia` session, load the `LinearAlgebra` module after pruning the one in the sysimage. This may be done as
Note that loading the test files in the REPL will automatically carry out the pruning to ensure that the development version of the package is used in the tests.
61
+
62
+
If you are contributing to the repo using this method, it may be convenient to ignore the local changes to `Project.toml` by running
63
+
```console
64
+
git update-index --skip-worktree Project.toml
65
+
```
41
66
42
67
2.**Build Julia with the custom `LinearAlgebra` commit:**
43
-
Modify the commit in `stdlib/LinearAlgebra.version` and build Julia.
68
+
69
+
Modify the commit in [`stdlib/LinearAlgebra.version`](https://github.com/JuliaLang/julia/blob/master/stdlib/LinearAlgebra.version) and build Julia. This requires one to push the development branch
70
+
to `GitHub` or an equivalent platform.
44
71
45
72
3.**Build a custom sysimage with the new `LinearAlgebra`:**
0 commit comments