From 82d0c5ea44f0f8b487c4b9856d50914ed7262fff Mon Sep 17 00:00:00 2001 From: Christian Duerr Date: Wed, 14 Nov 2018 23:47:13 +0000 Subject: Fix i386 CI releases The i386 CI releases were still using x86_64 platforms for building the output binaries, as a result the produced binaries did not work properly on i386 systems. The maximum time of 50 minutes was exceeded when Alacritty tries to build for all Linux platforms, this was because it was effectively compiling Alacritty from scratch four times. By making use of the previous build artifacts, it's possible to cut this down to two compiles using the `--no-build` option of `cargo-deb`. --- ci/before_deploy.sh | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'ci/before_deploy.sh') diff --git a/ci/before_deploy.sh b/ci/before_deploy.sh index 04793032..5363204a 100755 --- a/ci/before_deploy.sh +++ b/ci/before_deploy.sh @@ -24,32 +24,36 @@ name="Alacritty-${TRAVIS_TAG}" if [ "$TRAVIS_OS_NAME" == "osx" ]; then make dmg mv "./target/release/osx/Alacritty.dmg" "./target/deploy/${name}.dmg" -elif [ "$TRAVIS_OS_NAME" == "linux" ]; then - cargo install cargo-deb +elif [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$ARCH" != "i386" ]; then + docker pull undeadleech/alacritty-ubuntu # x86_64 - docker pull undeadleech/alacritty-ubuntu docker run -v "$(pwd):/source" undeadleech/alacritty-ubuntu \ /root/.cargo/bin/cargo build --release --manifest-path /source/Cargo.toml - sudo chown -R $USER:$USER "./target" tar -cvzf "./target/deploy/${name}-x86_64.tar.gz" -C "./target/release/" "alacritty" # x86_64 deb - DEB=$(cargo deb --no-build) - mv "$DEB" "./target/deploy/${name}_amd64.deb" + docker run -v "$(pwd):/source" undeadleech/alacritty-ubuntu \ + sh -c "cd /source && \ + /root/.cargo/bin/cargo deb --no-build --output ./target/deploy/${name}_amd64.deb" - rm -rf "./target/release" + # Make sure all files can be uploaded without permission errors + sudo chown -R $USER:$USER "./target" +elif [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$ARCH" == "i386" ]; then + docker pull undeadleech/alacritty-ubuntu-i386 # i386 - docker pull undeadleech/alacritty-ubuntu-i386 - docker run -v "$(pwd):/source" undeadleech/alacritty-ubuntu \ + docker run -v "$(pwd):/source" undeadleech/alacritty-ubuntu-i386 \ /root/.cargo/bin/cargo build --release --manifest-path /source/Cargo.toml - sudo chown -R $USER:$USER "./target" tar -cvzf "./target/deploy/${name}-i386.tar.gz" -C "./target/release/" "alacritty" # i386 deb - DEB=$(cargo deb --no-build) - mv "$DEB" "./target/deploy/${name}_i386.deb" + docker run -v "$(pwd):/source" undeadleech/alacritty-ubuntu-i386 \ + sh -c "cd /source && \ + /root/.cargo/bin/cargo deb --no-build --output ./target/deploy/${name}_i386.deb" + + # Make sure all files can be uploaded without permission errors + sudo chown -R $USER:$USER "./target" elif [ "$TRAVIS_OS_NAME" == "windows" ]; then mv "./target/release/alacritty.exe" "./target/deploy/${name}.exe" mv "./target/release/winpty-agent.exe" "./target/deploy/winpty-agent.exe" -- cgit v1.2.3-54-g00ecf