Skip to content

Commit 159ecb9

Browse files
authored
Added parallel travis builds (#5)
* Added parallel travis builds Signed-off-by: Rishabh Gupta <[email protected]> * Fixed case end, removed build and pre-build Signed-off-by: Rishabh Gupta <[email protected]> * Fixed release copying Signed-off-by: Rishabh Gupta <[email protected]> * Fixed all release folder errors Signed-off-by: Rishabh Gupta <[email protected]> * Fixed windows build copying by adding OG_FILE Signed-off-by: Rishabh Gupta <[email protected]>
1 parent 7544446 commit 159ecb9

File tree

5 files changed

+59
-90
lines changed

5 files changed

+59
-90
lines changed

.cargo/config

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[target.armv7-unknown-linux-musleabihf]
2+
linker = "arm-linux-gnueabihf-gcc"
3+
4+
[target.aarch64-unknown-linux-gnu]
5+
linker = "aarch64-linux-gnu-gcc"
6+
7+
[target.x86_64-pc-windows-gnu]
8+
linker = "x86_64-w64-mingw32-gcc"

.travis.yml

+14-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ language: rust
22
rust:
33
- stable
44

5-
before_install:
6-
- bash ./ci/pre-build.sh
7-
85
script:
96
- bash ./ci/publish.sh
107

@@ -13,7 +10,21 @@ matrix:
1310
- os: linux
1411
dist: xenial
1512
sudo: true
13+
env: TARGET="x86_64-pc-windows-gnu"
14+
- os: linux
15+
dist: xenial
16+
sudo: true
17+
env: TARGET="x86_64-unknown-linux-musl"
18+
- os: linux
19+
dist: xenial
20+
sudo: true
21+
env: TARGET="armv7-unknown-linux-musleabihf"
22+
- os: linux
23+
dist: xenial
24+
sudo: true
25+
env: TARGET="aarch64-unknown-linux-gnu"
1626
- os: osx
27+
env: TARGET="x86_64-apple-darwin"
1728

1829
deploy:
1930
provider: releases

ci/build.sh

-21
This file was deleted.

ci/pre-build.sh

-17
This file was deleted.

ci/publish.sh

+37-49
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,42 @@
11
#!/bin/sh
22

3-
linux_build() {
4-
# Set linker environment variables
5-
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_LINKER=arm-linux-gnueabihf-gcc
6-
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
7-
export CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER=x86_64-w64-mingw32-gcc
8-
9-
targets=("x86_64-pc-windows-gnu" "x86_64-unknown-linux-musl" "armv7-unknown-linux-musleabihf" "aarch64-unknown-linux-gnu")
10-
for trgt in ${targets[*]}
11-
do
12-
cargo build --release --verbose --target $trgt
13-
if [ "$?" != "0" ]
14-
then
15-
exit 1
16-
fi
17-
done
18-
19-
mkdir -p target/releases/
20-
cp target/x86_64-pc-windows-gnu/release/k3d.exe target/releases/k3d.exe
21-
cp target/x86_64-unknown-linux-musl/release/k3d target/releases/k3d
22-
cp target/armv7-unknown-linux-musleabihf/release/k3d target/releases/k3d-armhf
23-
cp target/aarch64-unknown-linux-gnu/release/k3d target/releases/k3d-arm64
24-
25-
cd target/releases/
26-
for filename in ./k3d*; do
27-
sha256sum $filename > $filename.sha256
28-
done
29-
cd ../../
30-
}
31-
32-
osx_build() {
33-
cargo build --release --verbose
34-
if [ "$?" != "0" ]
35-
then
36-
exit 1
37-
fi
38-
mkdir -p target/releases/
39-
cp target/release/k3d target/releases/k3d-darwin
3+
rustup target add $TARGET
4+
export OG_FILE="k3d"
5+
6+
case $TARGET in
7+
"x86_64-pc-windows-gnu")
8+
sudo apt-get update
9+
sudo apt-get install -y --no-install-recommends g++-mingw-w64-x86-64
10+
rustup target add x86_64-pc-windows-gnu
11+
export FILENAME="k3d.exe"
12+
export OG_FILE="k3d.exe"
13+
;;
14+
15+
"x86_64-unknown-linux-musl")
16+
export FILENAME="k3d"
17+
;;
18+
19+
"armv7-unknown-linux-musleabihf")
20+
sudo apt-get update
21+
sudo apt-get install -y --no-install-recommends g++-arm-linux-gnueabihf libc6-dev-armhf-cross
22+
export FILENAME="k3d-armhf"
23+
;;
24+
25+
"aarch64-unknown-linux-gnu")
26+
sudo apt-get update
27+
sudo apt-get install -y --no-install-recommends g++-aarch64-linux-gnu libc6-dev-arm64-cross
28+
export FILENAME="k3d-arm64"
29+
;;
30+
31+
"x86_64-apple-darwin")
32+
export FILENAME="k3d-darwin"
33+
;;
34+
esac
4035

41-
cd target/releases/
42-
shasum -a 256 ./k3d-darwin > k3d-darwin.sha256
36+
cargo build --release --verbose --target $TARGET
4337

44-
./k3d-darwin --help
45-
if [ "$?" != "0" ]
46-
then
47-
exit 1
48-
fi
49-
}
38+
mkdir -p target/releases/
39+
mv target/$TARGET/release/$OG_FILE target/releases/$FILENAME
40+
sha256sum target/releases/$FILENAME > target/releases/$FILENAME.sha256
5041

51-
case "$(uname -s)" in
52-
Linux*) linux_build;;
53-
Darwin*) osx_build;;
54-
esac
42+
ls -la target/releases

0 commit comments

Comments
 (0)