Skip to content

Commit acc643f

Browse files
SvetlitskiXyene
authored andcommitted
Check the hashes of our dependencies
Signed-off-by: Kevin Svetlitski <ksvetlitski@janestreet.com>
1 parent a6dcd96 commit acc643f

File tree

2 files changed

+197
-8
lines changed

2 files changed

+197
-8
lines changed

.github/workflows/build.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ jobs:
2626
- name: Install musl-compatible kernel headers
2727
run: |
2828
mkdir musl-kernel
29-
curl -L https://github.com/sabotage-linux/kernel-headers/archive/refs/tags/v4.19.88-1.tar.gz | \
30-
tar -xz -C musl-kernel --strip-components=1
29+
filename='v4.19.88-1.tar.gz'
30+
wget "https://github.com/sabotage-linux/kernel-headers/archive/refs/tags/$filename"
31+
shasum --check <(echo "44a07e9f18033cff7840dbb112fff2862c0fb8fc $filename")
32+
tar -xzf "$filename" -C musl-kernel --strip-components=1
3133
echo "C_INCLUDE_PATH=$(pwd)/musl-kernel/x86/include" >> "$GITHUB_ENV"
3234
echo "CC=musl-gcc" >> "$GITHUB_ENV"
3335
@@ -40,13 +42,18 @@ jobs:
4042
run: |
4143
# The version that comes with focal is broken for musl binaries, so we have to download
4244
# from another location.
43-
wget http://ftp.debian.org/debian/pool/main/u/upx-ucl/upx-ucl_3.96-2_amd64.deb
45+
filename='upx-ucl_3.96-2_amd64.deb'
46+
wget "http://ftp.debian.org/debian/pool/main/u/upx-ucl/$filename"
47+
shasum --check <(echo "0b3c901a6ae8db264a0e58aad9bbed4ef3e925b9 $filename")
4448
sudo dpkg -i upx-ucl_3.96-2_amd64.deb
4549
4650
- name: Build zlib with musl
4751
run: |
4852
mkdir musl-zlib
49-
curl -L https://zlib.net/zlib-1.3.1.tar.gz | tar -xz -C musl-zlib --strip-components=1
53+
filename='zlib-1.3.1.tar.gz'
54+
wget "https://zlib.net/$filename"
55+
shasum --check <(echo "f535367b1a11e2f9ac3bec723fb007fbc0d189e5 $filename")
56+
tar -xzf "$filename" -C musl-zlib --strip-components=1
5057
cd musl-zlib
5158
CC=musl-gcc ./configure --libdir=/usr/lib/x86_64-linux-musl --includedir=/usr/include/x86_64-linux-musl
5259
make -j$(nproc)
@@ -55,15 +62,20 @@ jobs:
5562
- name: Build zstd with musl
5663
run: |
5764
mkdir musl-zstd
58-
curl -L https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz | \
59-
tar -xz -C musl-zstd --strip-components=1
65+
filename='zstd-1.5.5.tar.gz'
66+
wget "https://github.com/facebook/zstd/releases/download/v1.5.5/$filename"
67+
shasum --check <(echo "4479ecc74300d23391d99fbebf2fddd47aed9b28 $filename")
68+
tar -xzf "$filename" -C musl-zstd --strip-components=1
6069
cd musl-zstd
6170
CC=musl-gcc make -j$(nproc)
6271
sudo make INCLUDEDIR=/usr/include/x86_64-linux-musl LIBDIR=/usr/lib/x86_64-linux-musl install
6372
6473
- name: Use OCaml ${{ matrix.ocaml-version }}
6574
run: |
66-
sudo wget -O /usr/local/bin/opam https://github.com/ocaml/opam/releases/download/2.5.0/opam-2.5.0-x86_64-linux
75+
filename='opam-2.5.0-x86_64-linux'
76+
wget "https://github.com/ocaml/opam/releases/download/2.5.0/$filename"
77+
shasum --check <(echo "67fb680a785f0bc7ceb57155f21786c0680ef5fe $filename")
78+
sudo mv "$filename" /usr/local/bin/opam
6779
sudo chmod a+x /usr/local/bin/opam
6880
6981
export OPAMYES=1
@@ -91,7 +103,7 @@ jobs:
91103
git -C ../core_unix apply $PWD/vendor/core-unix-musl-compatibility.patch
92104
opam pin core_unix ../core_unix
93105
94-
- run: opam install ./magic-trace.opam --deps-only
106+
- run: opam install ./magic-trace.opam --deps-only --locked
95107

96108
- run: opam install ocamlformat
97109
- run: opam exec -- dune build @fmt

magic-trace.opam.locked

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
opam-version: "2.0"
2+
name: "magic-trace"
3+
version: "1.0.1"
4+
synopsis:
5+
"Collects and displays high-resolution traces of what a process is doing"
6+
description: "https://github.com/janestreet/magic-trace"
7+
maintainer: "Jane Street developers"
8+
authors: "Jane Street Group, LLC"
9+
license: "MIT"
10+
homepage: "https://magic-trace.org"
11+
doc: "https://github.com/janestreet/magic-trace/wiki"
12+
bug-reports: "https://github.com/janestreet/magic-trace/issues"
13+
depends: [
14+
"angstrom" {= "0.16.1"}
15+
"astring" {= "0.8.5"}
16+
"async" {= "v0.18~preview.130.76+222"}
17+
"async_kernel" {= "v0.18~preview.130.76+222"}
18+
"async_log" {= "v0.18~preview.130.76+222"}
19+
"async_rpc_kernel" {= "v0.18~preview.130.76+222"}
20+
"async_unix" {= "v0.18~preview.130.76+222"}
21+
"base" {= "v0.18~preview.130.76+222"}
22+
"base-bigarray" {= "base"}
23+
"base-bytes" {= "base"}
24+
"base-domains" {= "base"}
25+
"base-nnp" {= "base"}
26+
"base-threads" {= "base"}
27+
"base-unix" {= "base"}
28+
"base64" {= "3.5.2"}
29+
"base_bigstring" {= "v0.18~preview.130.76+222"}
30+
"base_quickcheck" {= "v0.18~preview.130.76+222"}
31+
"basement" {= "v0.18~preview.130.76+222"}
32+
"bigarray-compat" {= "1.1.0"}
33+
"bigstringaf" {= "0.10.0"}
34+
"bin_prot" {= "v0.18~preview.130.76+222"}
35+
"camlp-streams" {= "5.0.1"}
36+
"camlzip" {= "1.13"}
37+
"capitalization" {= "v0.18~preview.130.76+222"}
38+
"capsule" {= "v0.18~preview.130.76+222"}
39+
"capsule0" {= "v0.18~preview.130.76+222"}
40+
"cmdliner" {= "1.3.0"}
41+
"cohttp" {= "5.3.1"}
42+
"cohttp-async" {= "5.3.0"}
43+
"cohttp_static_handler" {= "v0.18~preview.130.76+222"}
44+
"conduit" {= "8.0.0"}
45+
"conduit-async" {= "8.0.0"}
46+
"conf-autoconf" {= "0.2"}
47+
"conf-pkg-config" {= "4"}
48+
"conf-which" {= "1"}
49+
"conf-zlib" {= "1"}
50+
"conf-zstd" {= "1.3.8"}
51+
"core" {= "v0.18~preview.130.76+222"}
52+
"core_extended" {= "v0.18~preview.130.76+222"}
53+
"core_kernel" {= "v0.18~preview.130.76+222"}
54+
"core_unix" {= "v0.18~preview.130.76+222"}
55+
"cppo" {= "1.8.0"}
56+
"crunch" {= "4.0.0"}
57+
"csexp" {= "1.5.2"}
58+
"cstruct" {= "6.2.0"}
59+
"ctypes" {= "0.23.0+ox"}
60+
"domain-name" {= "0.5.0"}
61+
"dune" {= "3.20.2+ox"}
62+
"dune-configurator" {= "3.20.2"}
63+
"expect_test_helpers_async" {= "v0.18~preview.130.76+222"}
64+
"expect_test_helpers_core" {= "v0.18~preview.130.76+222"}
65+
"fieldslib" {= "v0.18~preview.130.76+222"}
66+
"flexible_sexp" {= "v0.18~preview.130.76+222"}
67+
"fmt" {= "0.10.0"}
68+
"int_repr" {= "v0.18~preview.130.76+222"}
69+
"integers" {= "0.7.0"}
70+
"ipaddr" {= "5.6.1"}
71+
"ipaddr-sexp" {= "5.6.1"}
72+
"jane-street-headers" {= "v0.18~preview.130.76+222"}
73+
"jsonm" {= "1.0.2"}
74+
"jst-config" {= "v0.18~preview.130.76+222"}
75+
"logs" {= "0.9.0"}
76+
"lwt" {= "5.9.2+ox"}
77+
"macaddr" {= "5.6.1"}
78+
"magic-mime" {= "1.3.1"}
79+
"num" {= "1.6"}
80+
"ocaml" {= "5.2.0"}
81+
"ocaml-compiler-libs" {= "v0.17.0+ox"}
82+
"ocaml-config" {= "3"}
83+
"ocaml-options-vanilla" {= "1"}
84+
"ocaml-syntax-shims" {= "1.0.0"}
85+
"ocaml-variants" {= "5.2.0+ox"}
86+
"ocaml_intrinsics" {= "v0.18~preview.130.76+222"}
87+
"ocaml_intrinsics_kernel" {= "v0.18~preview.130.76+222"}
88+
"ocamlbuild" {= "0.15.0+ox"}
89+
"ocamlfind" {= "1.9.8"}
90+
"ocplib-endian" {= "1.2"}
91+
"odoc-parser" {= "3.1.0+ox"}
92+
"owee" {= "0.8"}
93+
"parsexp" {= "v0.18~preview.130.76+222"}
94+
"pipe_with_writer_error" {= "v0.18~preview.130.76+222"}
95+
"portable" {= "v0.18~preview.130.76+222"}
96+
"ppx_array_base" {= "v0.18~preview.130.76+222"}
97+
"ppx_assert" {= "v0.18~preview.130.76+222"}
98+
"ppx_base" {= "v0.18~preview.130.76+222"}
99+
"ppx_bench" {= "v0.18~preview.130.76+222"}
100+
"ppx_bin_prot" {= "v0.18~preview.130.76+222"}
101+
"ppx_cold" {= "v0.18~preview.130.76+222"}
102+
"ppx_compare" {= "v0.18~preview.130.76+222"}
103+
"ppx_custom_printf" {= "v0.18~preview.130.76+222"}
104+
"ppx_debug_assert" {= "v0.18~preview.130.76+222"}
105+
"ppx_derivers" {= "1.2.1"}
106+
"ppx_diff" {= "v0.18~preview.130.76+222"}
107+
"ppx_disable_unused_warnings" {= "v0.18~preview.130.76+222"}
108+
"ppx_enumerate" {= "v0.18~preview.130.76+222"}
109+
"ppx_expect" {= "v0.18~preview.130.76+222"}
110+
"ppx_fields_conv" {= "v0.18~preview.130.76+222"}
111+
"ppx_fixed_literal" {= "v0.18~preview.130.76+222"}
112+
"ppx_fuelproof" {= "v0.18~preview.130.76+222"}
113+
"ppx_globalize" {= "v0.18~preview.130.76+222"}
114+
"ppx_hash" {= "v0.18~preview.130.76+222"}
115+
"ppx_helpers" {= "v0.18~preview.130.76+222"}
116+
"ppx_here" {= "v0.18~preview.130.76+222"}
117+
"ppx_ignore_instrumentation" {= "v0.18~preview.130.76+222"}
118+
"ppx_inline_test" {= "v0.18~preview.130.76+222"}
119+
"ppx_int63_literal" {= "v0.18~preview.130.76+222"}
120+
"ppx_jane" {= "v0.18~preview.130.76+222"}
121+
"ppx_js_style" {= "v0.18~preview.130.76+222"}
122+
"ppx_let" {= "v0.18~preview.130.76+222"}
123+
"ppx_log" {= "v0.18~preview.130.76+222"}
124+
"ppx_module_timer" {= "v0.18~preview.130.76+222"}
125+
"ppx_optcomp" {= "v0.18~preview.130.76+222"}
126+
"ppx_optional" {= "v0.18~preview.130.76+222"}
127+
"ppx_pipebang" {= "v0.18~preview.130.76+222"}
128+
"ppx_portable" {= "v0.18~preview.130.76+222"}
129+
"ppx_sexp_conv" {= "v0.18~preview.130.76+222"}
130+
"ppx_sexp_message" {= "v0.18~preview.130.76+222"}
131+
"ppx_sexp_value" {= "v0.18~preview.130.76+222"}
132+
"ppx_shorthand" {= "v0.18~preview.130.76+222"}
133+
"ppx_stable" {= "v0.18~preview.130.76+222"}
134+
"ppx_stable_witness" {= "v0.18~preview.130.76+222"}
135+
"ppx_string" {= "v0.18~preview.130.76+222"}
136+
"ppx_string_conv" {= "v0.18~preview.130.76+222"}
137+
"ppx_template" {= "v0.18~preview.130.76+222"}
138+
"ppx_tydi" {= "v0.18~preview.130.76+222"}
139+
"ppx_typed_fields" {= "v0.18~preview.130.76+222"}
140+
"ppx_typerep_conv" {= "v0.18~preview.130.76+222"}
141+
"ppx_var_name" {= "v0.18~preview.130.76+222"}
142+
"ppx_variants_conv" {= "v0.18~preview.130.76+222"}
143+
"ppxlib" {= "0.33.0+ox"}
144+
"ppxlib_ast" {= "0.33.0+ox"}
145+
"ppxlib_jane" {= "v0.18~preview.130.76+222"}
146+
"protocol_version_header" {= "v0.18~preview.130.76+222"}
147+
"ptime" {= "1.2.0"}
148+
"re" {= "1.14.0+ox"}
149+
"record_builder" {= "v0.18~preview.130.76+222"}
150+
"result" {= "1.5"}
151+
"seq" {= "base"}
152+
"sexp_pretty" {= "v0.18~preview.130.76+222"}
153+
"sexp_type" {= "v0.18~preview.130.76+222"}
154+
"sexplib" {= "v0.18~preview.130.76+222"}
155+
"sexplib0" {= "v0.18~preview.130.76+222"}
156+
"shell" {= "v0.18~preview.130.76+222"}
157+
"spawn" {= "v0.15.1+ox"}
158+
"splittable_random" {= "v0.18~preview.130.76+222"}
159+
"stdio" {= "v0.18~preview.130.76+222"}
160+
"stdlib-shims" {= "0.3.0"}
161+
"string_dict" {= "v0.18~preview.130.76+222"}
162+
"stringext" {= "1.6.0"}
163+
"textutils" {= "v0.18~preview.130.76+222"}
164+
"time_now" {= "v0.18~preview.130.76+222"}
165+
"topkg" {= "1.0.8+ox"}
166+
"typerep" {= "v0.18~preview.130.76+222"}
167+
"unique" {= "v0.18~preview.130.76+222"}
168+
"univ_map" {= "v0.18~preview.130.76+222"}
169+
"uopt" {= "v0.18~preview.130.76+222"}
170+
"uri" {= "4.4.0"}
171+
"uri-sexp" {= "4.4.0"}
172+
"uutf" {= "1.0.3+ox"}
173+
"variantslib" {= "v0.18~preview.130.76+222"}
174+
"zstandard" {= "v0.18~preview.130.76+222"}
175+
]
176+
build: ["dune" "build" "-p" name "-j" jobs]
177+
dev-repo: "git+https://github.com/janestreet/magic-trace.git"

0 commit comments

Comments
 (0)