diff --git a/config.yml b/config.yml index 3bfd895..e8a8458 100644 --- a/config.yml +++ b/config.yml @@ -453,6 +453,17 @@ patches: false purpose: "tool" +- repository: "v4-chain" + project_name: "dydx" + architecture: "x86_64" + binaries: + - "dydxprotocold" + builder: "go" + builder_version: "1.22.2" + cpu: "generic" + patches: false + purpose: "node" + # Docker images - repository: "bouncebit" diff --git a/scripts/dydx/build.sh b/scripts/dydx/build.sh new file mode 100755 index 0000000..b79e3f7 --- /dev/null +++ b/scripts/dydx/build.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "${DEPOT_PROJECT_NAME}" +mkdir bin + +# Build from the protocol directory +cd protocol +make CC="x86_64-linux-musl-gcc" CGO_LDFLAGS="-L." LEDGER_ENABLED=false LINK_STATICALLY=true build + +# Go back to project root +cd .. + +build_binaries="$(deno run --allow-read --allow-env ../utils/binaries.ts)" + +echo "${build_binaries}" | jq -r 'to_entries[] | "\(.key) \(.value)"' | while read -r binary path; do + # The binary should be in the protocol/build directory + if [ -f "${GITHUB_WORKSPACE}/${DEPOT_PROJECT_NAME}/protocol/build/${binary}" ]; then + mv -v "${GITHUB_WORKSPACE}/${DEPOT_PROJECT_NAME}/protocol/build/${binary}" "${path}" + else + echo "Error: Binary ${binary} not found in protocol/build directory" + exit 1 + fi +done