mirror of
https://github.com/alacritty/alacritty.git
synced 2024-10-27 05:32:54 -04:00
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`.
This commit is contained in:
parent
00830b3da8
commit
82d0c5ea44
4 changed files with 23 additions and 12 deletions
|
@ -18,6 +18,11 @@ rust:
|
|||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
- if: tag IS present
|
||||
os: linux
|
||||
rust: stable
|
||||
env: ARCH=i386
|
||||
allow_failures:
|
||||
- rust: nightly
|
||||
- os: windows
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -6,3 +6,4 @@ RUN apt-get update && apt-get install -y cmake libfreetype6-dev libfontconfig1-d
|
|||
|
||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||
RUN /root/.cargo/bin/rustup default stable-i686-unknown-linux-gnu
|
||||
RUN /root/.cargo/bin/cargo install cargo-deb
|
||||
|
|
|
@ -5,3 +5,4 @@ ENV USER root
|
|||
RUN apt-get update && apt-get install -y cmake libfreetype6-dev libfontconfig1-dev curl
|
||||
|
||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||
RUN /root/.cargo/bin/cargo install cargo-deb
|
||||
|
|
Loading…
Reference in a new issue