Skip to content

Commit eebc6a8

Browse files
committed
ci(linux): move bindgen-cli installation into run.bash
1 parent f8596c2 commit eebc6a8

File tree

17 files changed

+36
-49
lines changed

17 files changed

+36
-49
lines changed

.github/workflows/ci.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -629,6 +629,7 @@ jobs:
629629
--env LIBZ_SYS_STATIC=1 \
630630
--env SKIP_TESTS="${SKIP_TESTS}" \
631631
--env TARGET="${TARGET}" \
632+
--env INSTALL_BINDGEN=1 \
632633
--init \
633634
--rm \
634635
--tty \
@@ -793,6 +794,7 @@ jobs:
793794
--env LIBZ_SYS_STATIC=1 \
794795
--env SKIP_TESTS="${SKIP_TESTS}" \
795796
--env TARGET="${TARGET}" \
797+
--env INSTALL_BINDGEN=1 \
796798
--init \
797799
--rm \
798800
--tty \
@@ -979,6 +981,7 @@ jobs:
979981
--env LIBZ_SYS_STATIC=1 \
980982
--env SKIP_TESTS="${SKIP_TESTS}" \
981983
--env TARGET="${TARGET}" \
984+
--env INSTALL_BINDGEN=1 \
982985
--init \
983986
--rm \
984987
--tty \

ci/actions-templates/linux-builds-template.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ jobs: # skip-master skip-pr skip-stable
137137
--env LIBZ_SYS_STATIC=1 \
138138
--env SKIP_TESTS="${SKIP_TESTS}" \
139139
--env TARGET="${TARGET}" \
140+
--env INSTALL_BINDGEN=1 \
140141
--init \
141142
--rm \
142143
--tty \

ci/docker/aarch64-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-aarch64-unknown-linux-gnu
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_aarch64_unknown_linux_gnu=aarch64-unknown-linux-gnu-gcc \
108
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-unknown-linux-gnu-gcc

ci/docker/aarch64-unknown-linux-musl/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-aarch64-unknown-linux-musl
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_aarch64_unknown_linux_musl=aarch64-linux-musl-gcc \
108
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-musl-gcc \

ci/docker/android/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-android
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV PATH=$PATH:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin \
108
ANDROID_NDK=/android/ndk/ \

ci/docker/arm-unknown-linux-gnueabi/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-arm-unknown-linux-gnueabi
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_arm_unknown_linux_gnueabi=arm-unknown-linux-gnueabi-gcc \
108
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-unknown-linux-gnueabi-gcc

ci/docker/arm-unknown-linux-gnueabihf/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-arm-unknown-linux-gnueabihf
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_arm_unknown_linux_gnueabihf=arm-unknown-linux-gnueabihf-gcc \
108
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-unknown-linux-gnueabihf-gcc

ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-armv7-unknown-linux-gnueabihf
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_armv7_unknown_linux_gnueabihf=armv7-unknown-linux-gnueabihf-gcc \
108
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=armv7-unknown-linux-gnueabihf-gcc
Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
FROM rust-i686-unknown-linux-gnu
22

3-
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
4-
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
8-
9-
# Install `perl-IPC-Cmd` to make OpenSSL v3 happy.
10-
# See: <https://github.com/sfackler/rust-openssl/issues/1550>
11-
RUN yum upgrade -y && \
12-
yum install -y perl-IPC-Cmd
3+
# Install `perl-IPC-Cmd` to make OpenSSL v3 happy.
4+
# See: <https://github.com/sfackler/rust-openssl/issues/1550>
5+
RUN yum upgrade -y && \
6+
yum install -y perl-IPC-Cmd \
7+
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
8+
# See: https://aws.github.io/aws-lc-rs/requirements/linux
9+
glibc-devel.i686 clang-libs

ci/docker/loongarch64-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-loongarch64-unknown-linux-gnu
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_loongarch64_unknown_linux_gnu=loongarch64-unknown-linux-gnu-gcc \
108
CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_LINKER=loongarch64-unknown-linux-gnu-gcc

ci/docker/loongarch64-unknown-linux-musl/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-loongarch64-unknown-linux-musl
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_loongarch64_unknown_linux_musl=loongarch64-unknown-linux-musl-gcc \
108
CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_MUSL_LINKER=loongarch64-unknown-linux-musl-gcc

ci/docker/powerpc-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-powerpc-unknown-linux-gnu
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_powerpc_unknown_linux_gnu=powerpc-unknown-linux-gnu-gcc \
108
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-unknown-linux-gnu-gcc

ci/docker/powerpc64-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-powerpc64-unknown-linux-gnu
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_powerpc64_unknown_linux_gnu=powerpc64-unknown-linux-gnu-gcc \
108
CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-unknown-linux-gnu-gcc

ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-powerpc64le-unknown-linux-gnu
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-gcc \
108
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc

ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-riscv64gc-unknown-linux-gnu
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-gcc \
108
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=riscv64-unknown-linux-gnu-gcc

ci/docker/s390x-unknown-linux-gnu/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ FROM rust-s390x-unknown-linux-gnu
22

33
# Building `aws-lc-rs` for Linux depends on `gcc-multilib`, `libclang` and `bindgen`.
44
# See: https://aws.github.io/aws-lc-rs/requirements/linux
5-
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev \
6-
&& curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh \
7-
&& mv $HOME/.cargo/bin/bindgen /usr/bin
5+
RUN apt-get update && apt-get install -qy gcc-multilib libclang-dev
86

97
ENV CC_s390x_unknown_linux_gnu=s390x-ibm-linux-gnu-gcc \
108
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-ibm-linux-gnu-gcc

ci/run.bash

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ export RUST_BACKTRACE=1
77
rustc -vV
88
cargo -vV
99

10+
if [ -n "$INSTALL_BINDGEN" ]; then
11+
if ! curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/latest/download/bindgen-cli-installer.sh | sh -s -- --no-modify-path \
12+
| grep "everything's installed!";
13+
# Ignoring exit code since the script might fail to write the receipt after a successful installation.
14+
then
15+
cargo install --force --locked bindgen-cli
16+
fi
17+
mkdir "$CARGO_HOME"/bin/bindgen-cli
18+
mv "$CARGO_HOME"/bin/bindgen "$CARGO_HOME"/bin/bindgen-cli/
19+
export PATH="$CARGO_HOME/bin/bindgen-cli:$PATH"
20+
fi
21+
1022

1123
FEATURES=('--no-default-features' '--features' 'curl-backend,reqwest-backend,reqwest-native-tls')
1224
case "$(uname -s)" in

0 commit comments

Comments
 (0)