diff --git a/.circleci/config.yml b/.circleci/config.yml index e613c495..e5a6fa25 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,6 +14,31 @@ jobs: - run: go vet ./... resource_class: large + cross_compile: + docker: + - image: cimg/go:1.20.0 + steps: + - checkout + - restore_cache: + keys: + - go-mod-v4-{{ checksum "go.sum" }} + - run: go get -v -t -d ./... + - save_cache: + key: go-mod-v4-{{ checksum "go.sum" }} + paths: + - "/home/circleci/go/pkg/mod" + - run: sudo apt-get update + - run: sudo apt-get install musl-dev musl-tools + - run: sudo apt-get install gcc gcc-arm-linux-gnueabi + - run: sudo apt-get install gcc gcc-aarch64-linux-gnu + - run: sudo apt-get install gcc-mips-linux-gnu + - run: sudo apt-get install gcc-mipsel-linux-gnu + - run: sudo apt-get install gcc-mips64-linux-gnuabi64 + - run: sudo apt-get install gcc-mips64el-linux-gnuabi64 + - run: sudo apt-get install gcc-powerpc64-linux-gnu + - run: sudo apt-get install gcc-powerpc64le-linux-gnu + - run: sudo apt-get install gcc-riscv64-linux-gnu + test: docker: - image: cimg/go:1.20.0 @@ -197,6 +222,7 @@ workflows: build_and_test: jobs: - lint + - cross_compile - test - race_even - race_odd diff --git a/scripts/package.sh b/scripts/package.sh index d8d093a7..8f279aa1 100755 --- a/scripts/package.sh +++ b/scripts/package.sh @@ -10,11 +10,18 @@ # # sudo apt-get -y install musl-dev musl-tools # -# To install ARM and ARM64 tools run: +# To install other cross-compilation tools run: # -# sudo apt-get -y install gcc make gcc-arm-linux-gnueabi binutils-arm-linux-gnueabi -# sudo apt-get -y install gcc make gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu -# sudo apt-get -y install gcc-mips-linux-gnu g++-mips-linux-gnu +# sudo apt-get -y install gcc gcc-arm-linux-gnueabi +# sudo apt-get -y install gcc gcc-aarch64-linux-gnu +# sudo apt-get -y install gcc-mips-linux-gnu +# sudo apt-get -y install gcc-mipsel-linux-gnu +# sudo apt-get -y install gcc-mips64-linux-gnuabi64 +# sudo apt-get -y install gcc-mips64el-linux-gnuabi64 +# sudo apt-get -y install gcc-powerpc64-linux-gnu +# sudo apt-get -y install gcc-powerpc64le-linux-gnu +# sudo apt-get -y install gcc-riscv64-linux-gnu + REPO_URL="https://github.com/rqlite/rqlite" @@ -135,6 +142,12 @@ versions=( ["arm"]="arm-linux-gnueabi-gcc" ["riscv64"]="riscv64-linux-gnu-gcc" ["mips"]="mips-linux-gnu-gcc" + ["mipsel"]="mipsel-linux-gnu-gcc" + ["mips64"]="mips64-linux-gnuabi64-gcc" + ["mips64le"]="mips64el-linux-gnuabi64-gcc" + ["mipsle"]="mipsel-linux-gnu-gcc" + ["ppc64"]="powerpc64-linux-gnu-gcc" + ["ppc64le"]="powerpc64le-linux-gnu-gcc" ) for version in "${!versions[@]}"; do