From 31819fe1970ff7663d162e5ea5dc480103c86e31 Mon Sep 17 00:00:00 2001 From: KtorZ Date: Wed, 2 Oct 2024 10:05:39 +0200 Subject: [PATCH] Define custom build setup for musl target. --- .github/musl-build-setup.yml | 3 +++ Cargo.toml | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 .github/musl-build-setup.yml diff --git a/.github/musl-build-setup.yml b/.github/musl-build-setup.yml new file mode 100644 index 00000000..240ea742 --- /dev/null +++ b/.github/musl-build-setup.yml @@ -0,0 +1,3 @@ +- run: | + sudo apt-get install -y pkg-config libssl-dev musl musl-dev musl-tools + rustup target add x86_64-unknown-linux-musl diff --git a/Cargo.toml b/Cargo.toml index 1475e4c9..818bb47d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,6 +49,16 @@ features = ["bundle_openssl"] [workspace.metadata.dist.github-custom-runners] x86_64-unknown-linux-musl = "ubuntu-22.04" +# Inject build steps into the build-local-artifacts job to prepare the container. +# This is needed to install libssl-dev and musl tools for producing statically linked +# binary on Linux and avoid weird segfaults. +# +# Note: should be a path relative to the .github/workflows/ directory, and +# which should point to a .yml file containing the github workflow steps just +# as one would normally write them in a workflow. +[workspace.metadata.dist.github-build-setup] +x86_64-unknown-linux-musl = "../musl-build-setup.yml" + [workspace.dependencies] walkdir = "2.3.2" insta = { version = "1.30.0", features = ["yaml", "json", "redactions"] }