#!/usr/bin/env bash go_arch=$1 go_os=$2 go_arm=$3 project_name=$4 # Make Go -> Rust arch/os mapping case $go_arch in amd64) rust_arch='x86_64' ;; arm64) rust_arch='aarch64' ;; arm) rust_arch='armv7' ;; 386) rust_arch='i686' ;; *) echo "unknown arch: $go_arch" && exit 1 ;; esac case $go_os in linux) rust_os='linux' ;; darwin) rust_os='apple-darwin' ;; windows) rust_os='windows' ;; freebsd) rust_os='freebsd' ;; *) echo "unknown os: $go_os" && exit 1 ;; esac # Find artifacts and uncompress in the coresponding directory if [ -z "$go_arm" ] then DIST_DIR=$(find dist -type d -name "*${go_os}_${go_arch}*") else DIST_DIR=$(find dist -type d -name "*${go_os}_${go_arch}_${go_arm}*") fi echo "DIST_DIR: $DIST_DIR" rm -f ${DIST_DIR}/${project_name}* find artifacts -type f -wholename "*${rust_arch}*${rust_os}*/${project_name}*" -exec cp {} ${DIST_DIR}/ \;