Logic for handling git dependencies - #82
adityakalia wants to merge 1 commit into
Conversation
| @@ -81,7 +81,7 @@ FROM rust:1.60.0-alpine as base-optimizer | |||
|
|
|||
| # Being required for gcc linking | |||
There was a problem hiding this comment.
Let's add this comment since git-fetch-with-cli can be necessary in cases of public git dependencies too sometimes.
| # Being required for gcc linking | |
| # musl-dev is required for gcc linking. | |
| # Adding Git for usage within projects that use `git-fetch-with-cli = true`. |
|
Reopened to trigger Circle CI checks |
1423d9f to
2eeb70e
Compare
| set -o errexit -o nounset -o pipefail | ||
| command -v shellcheck >/dev/null && shellcheck "$0" | ||
|
|
||
| [ -n "${GIT_CREDENTIALS=""}" ] && echo "$GIT_CREDENTIALS" >~/.git-credentials && git config --global credential.helper store |
There was a problem hiding this comment.
| [ -n "${GIT_CREDENTIALS=""}" ] && echo "$GIT_CREDENTIALS" >~/.git-credentials && git config --global credential.helper store | |
| [ -n "${GIT_CREDENTIALS:=""}" ] && echo "$GIT_CREDENTIALS" >~/.git-credentials && git config --global credential.helper store |
webmaster128
left a comment
There was a problem hiding this comment.
I wonder if this feature is fundamentally conflicting with the goals of this repository. Once you support private dependencies, you give up reproducible building for anyone who does not have the credentials. When you don't care about reproducibility, you can as well use a build script like this:
# compile all contracts
for C in ./contracts/*/
do
echo "Compiling $(basename "$C")..."
(cd "$C" && RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown --locked)
doneand run a local wasm-opt on the results.
Here is another project that shows how things get simpler and fancier if you are building a tool for a different use case: https://github.com/mandrean/cw-optimizoor
I'd like to avoid adding overhead here (in code, text and review capacity) that at the end of the day builds proprietary build systems. And we should clearly define goals and non-goals of this repo.
|
Closing because private dependencies means you can't do publicly verifyable builds |
No description provided.