-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: reproducible Rust builds #1983
base: master
Are you sure you want to change the base?
Changes from all commits
aca3ab5
f553b70
56a4d88
fa72ffe
36a7dcc
5d51032
dde03fc
2a5aac3
e71f92c
1c9c669
5404679
0b4a733
377087b
122bbb9
2a331c1
cfdc7dd
6de96cd
7e1e91c
c8262fa
b47245f
4ea0310
4566ad9
8e4fbde
d71bfc4
5612b31
8073c3f
751ee6e
02d4ad0
c7a1b0f
2b56263
63d06f6
ddc9c0c
fbdfef5
e624e02
1185bc5
76836ac
26abf50
3c2c524
b34de38
54623e2
ed36e73
7e5b932
e1a6191
c04d6ac
e80854c
fc5c7b8
f15725b
3e163aa
74f552f
48a1511
d7b4541
46b8b3e
afb16a8
ff8e7c5
9e5d088
fa37fab
f85d9cb
4ae93ab
e81e699
a7e05eb
e091a64
71c4c1e
d87f150
4224881
5caf216
449d30e
9542fee
710d0ef
c79e8fa
bc5f55d
3ab5e4f
9bf1bff
18fa8a3
7d3ba7f
c03a5f8
e7bfefa
c000f54
52aff41
5ffed4b
2d30333
3193aaf
316db6e
d0035ae
566b350
2c9368a
75398b7
5f287ac
9919a8f
4dd34e2
6ce465d
42d8573
ff4f81b
a75ca37
9e99878
966f29f
7443cb5
9edcd10
0673e91
69134e4
e1e85b8
a89d854
366ad2c
8ebdd67
467bfa7
7a2ea71
2704188
b33eb5a
fde9811
ccde6af
a32f084
245dc46
9db9328
903e4d5
5857b9e
670218a
815e747
868be18
c6f338c
4f71941
28c2c68
31734d8
bedcde3
9e6531a
9ee1eae
372a801
239371c
58e687f
9194f31
8a2216f
61058c5
31029b5
c42b871
21b903e
37520df
b1b3734
0effb07
bff4b65
92303ad
85faf50
eca0a1e
6632b3b
f6c195d
76a9a00
de883f9
0e29160
11a7bc7
72c65b6
11645a6
c665a70
393ced5
729d555
85920d7
36a3fa6
f94d960
f5ae7a4
bb49969
9a28398
498fdff
11cf782
ea5a7f1
94e267b
602e713
b639033
1a71a33
7c3c072
ff4cec6
1bcb47d
fe520d3
09142c1
c41393b
6bc43d1
944fd6c
08a8aea
1739623
d03e2ca
86b7b39
257be50
9f4026f
5405794
8022422
aaa8838
5acbbb2
76a6a44
613cfdd
d4cec25
a89adf9
3930e2e
77f7a96
4b6688a
785dd6c
782fd97
d097ef3
bf84d9d
811dfa0
4942906
cd07fd4
811817a
2b4ccfa
6e0842f
3d44a69
a4ad9c7
9a177ff
bf9a4f0
29e104e
7b4accf
dc15d10
30e4d85
1f636c1
f5d94ff
d3170b9
5129286
ec94dd5
319c597
2facc4d
5d4f8ca
4d7c856
fcfe2d5
e04af5b
cffc763
990bc35
02942c2
69d00fd
6913319
0f7f6bc
eb6fa5d
799fd04
5eb3e8c
429c009
ca7f2e0
5db7c7d
50d8f09
2025440
45825c1
77a2bff
8b550cd
4dbcdba
05c4d9d
9001aa9
5b32b0b
2f2ba10
a47e747
c20d5fd
1707ba4
e16c87a
9ff08df
aa4c131
46260df
79059f6
030eb05
392934b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,35 @@ | ||
# TODO: We shouldn't go with tokio_unstable to production | ||
|
||
[target.aarch64-unknown-linux-musl] | ||
rustflags = [ "-C", "target-feature=-crt-static" ] | ||
rustflags = ["-C", "target-feature=-crt-static"] | ||
linker = "aarch64-linux-musl-gcc" | ||
|
||
[target.x86_64-unknown-linux-musl] | ||
rustflags = [ "-C", "target-feature=-crt-static" ] | ||
rustflags = ["-C", "target-feature=-crt-static"] | ||
linker = "x86_64-linux-musl-gcc" | ||
|
||
[target.aarch64-unknown-linux-gnu] | ||
linker = "aarch64-linux-gnu-gcc" | ||
|
||
[target.x86_64-unknown-linux-gnu] | ||
linker = "x86_64-linux-gnu-gcc" | ||
|
||
[profile.release] | ||
opt-level = 3 | ||
debug = false | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Many of them look like default values for the release profile. Which params exactly make builds reproducable? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it's not clear which args are needed specifically to result in reproducibility; what concerns do you have about specifying these options even if they as default? |
||
debug-assertions = false | ||
overflow-checks = false | ||
lto = true | ||
panic = 'abort' | ||
codegen-units = 1 | ||
incremental = false | ||
rustflags = [ | ||
"-C", "relocation-model=pic", | ||
"-C", "strip=debuginfo" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just do |
||
] | ||
|
||
|
||
[build] | ||
rustflags = [ | ||
"--cfg", "tokio_unstable" | ||
] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
--- | ||
name: "Setup Javy" | ||
description: "Setup Javy binaries" | ||
inputs: | ||
version: | ||
description: Javy version to use | ||
required: false | ||
default: "1.4.0" | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Install Javy | ||
shell: bash | ||
run: | | ||
set -e | ||
|
||
case "${{ runner.arch }}" in | ||
"ARM64") | ||
JAVY_ARCH="arm-linux" | ||
;; | ||
"X64") | ||
JAVY_ARCH="x86_64-linux" | ||
;; | ||
*) | ||
echo "Unsupported architecture: ${{ runner.arch }}" | ||
exit 1 | ||
;; | ||
esac | ||
|
||
curl -Ls "https://github.com/bytecodealliance/javy/releases/download/v${{ inputs.version }}/javy-${JAVY_ARCH}-v${{ inputs.version }}.gz" | gunzip > javy | ||
|
||
chmod +x javy | ||
sudo mv javy /usr/local/bin/javy | ||
|
||
- name: Verify Javy installation | ||
shell: bash | ||
run: javy --version |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -97,3 +97,5 @@ runs: | |
- name: Start local network | ||
shell: bash | ||
run: yarn start | ||
env: | ||
DEBUG: 1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ name: Publish docs via GitHub Pages | |
on: | ||
push: | ||
branches: | ||
- master | ||
- v1.0-dev | ||
|
||
jobs: | ||
build: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It overwrites
rustflags
in thebuild
section so you are loosing"--cfg", "tokio_unstable"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't believe this is the case: see slack for more discussion