Open momvart opened 2 years ago
We can omit this condition because it simply does nothing if there's no submodule. In addition, it is true for both cases of the proceeding statements. https://github.com/sfu-rsl/symrustc/blob/d7bfc86de417da8d1e7167081ed4cd20c6a97415/generated/Dockerfile#L81
Most of the time, I run build_all.sh
( https://github.com/sfu-rsl/symrustc/blob/d7bfc86de417da8d1e7167081ed4cd20c6a97415/build_all.sh ) to build everything. However there is also build_rustc.sh
that can be used as an alternative ( https://github.com/sfu-rsl/symrustc/blob/d7bfc86de417da8d1e7167081ed4cd20c6a97415/build_rustc.sh ).
The above condition is to detect in which situation we are running the build, in particular SYMRUSTC_RUST_VERSION
is set to some specific value in the latter script, whereas it is not set in build_all.sh
.
Can't we use
~
in this case? Using$HOME
is a little confusing as we have used~
so far. https://github.com/sfu-rsl/symrustc/blob/d7bfc86de417da8d1e7167081ed4cd20c6a97415/generated/Dockerfile#L195
I would have wished also, but at the time of writing the current semantics of a Dockerfile is to not expand ~
, at least inside a COPY
command.
Do we build anything in this layer? It seems to be just copying so can be merged with the previous layer. https://github.com/sfu-rsl/symrustc/blob/d7bfc86de417da8d1e7167081ed4cd20c6a97415/generated/Dockerfile#L233-L241
Here I was separating the build process with content that might be less generic. In the future,
belcarra_source/examples
may not be provided as part of SymRustC...
At the time of writing, here is the organization of branches:
git_rebase_versions.sh
:
https://github.com/sfu-rsl/symrustc/blob/7b71d052d8daefe2e3263ec716e3a72167552016/git_rebase_versions.sh#L50-L81In addition, branches starting with no_insert/
and appended with an element of $versions1
are also stable.
The main
branch is a bit special, it contains the documentation. It is currently updated by hand.
Any other branches not mentioned above are temporary, they may disappear at some point.
Some notes regarding the workflow:
1.46.0
, and the script git_rebase_versions.sh
is run afterwards to automatically propagate everything.make_build.sh
( https://github.com/sfu-rsl/symrustc/blob/7b71d052d8daefe2e3263ec716e3a72167552016/make_build.sh ) to initialize the appropriate build scripts for build_all.sh
to correctly work (as the associated Dockerfile
relies at some point on the branch name to clone the respective version of SymRustC).
Here's a list of changes that I think would improve the readability of the Dockerfile.
main/<version>
scheme while the llvm repo has a different scheme as well as tags. https://github.com/sfu-rsl/symrustc/blob/d7bfc86de417da8d1e7167081ed4cd20c6a97415/generated/Dockerfile#L93-L94builder_depend
layer withbuilder_base
or move it abovebuilder_source
~
in this case? Using$HOME
is a little confusing as we have used~
so far. https://github.com/sfu-rsl/symrustc/blob/d7bfc86de417da8d1e7167081ed4cd20c6a97415/generated/Dockerfile#L195