1
0
Fork 0
mirror of https://github.com/alacritty/alacritty.git synced 2024-11-18 13:55:23 -05:00

Fix ubuntu deployment

This commit is contained in:
Christian Duerr 2019-06-17 21:22:10 +00:00 committed by GitHub
parent 3950b5cb2f
commit a39459ece2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 59 additions and 52 deletions

View file

@ -72,7 +72,7 @@ libraries to build Alacritty. Here's an apt command that should install all of
them. If something is still found to be missing, please open an issue. them. If something is still found to be missing, please open an issue.
```sh ```sh
apt-get install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev apt-get install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev python3
``` ```
#### Arch Linux #### Arch Linux

View file

@ -2,7 +2,8 @@ FROM ubuntu:latest
ENV USER root ENV USER root
RUN apt-get update && apt-get install -y cmake libfreetype6-dev libfontconfig1-dev curl RUN apt-get update && apt-get install -y cmake libfreetype6-dev libfontconfig1-dev curl python3 \
libxcb-xfixes0-dev
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
RUN /root/.cargo/bin/cargo install cargo-deb RUN /root/.cargo/bin/cargo install cargo-deb

View file

@ -8,52 +8,13 @@ aux_files=("extra/completions/alacritty.bash"
"extra/alacritty.info" "extra/alacritty.info"
"alacritty.yml") "alacritty.yml")
# Get previous tag to check for changes # Output binary name
git fetch --tags name="Alacritty-${TRAVIS_TAG}"
git fetch --unshallow
prev_tag=$(git describe --tags --abbrev=0 $TRAVIS_TAG^)
# Everything in this directory will be offered as download for the release # Everything in this directory will be offered as download for the release
mkdir "./target/deploy" mkdir "./target/deploy"
# Output binary name function windows {
name="Alacritty-${TRAVIS_TAG}"
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
rm -rf "./target/release"
make dmg
mv "./target/release/osx/Alacritty.dmg" "./target/deploy/${name}.dmg"
elif [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$ARCH" != "i386" ]; then
docker pull undeadleech/alacritty-ubuntu
# x86_64
docker run -v "$(pwd):/source" undeadleech/alacritty-ubuntu \
/root/.cargo/bin/cargo build --release --manifest-path /source/Cargo.toml
tar -cvzf "./target/deploy/${name}-ubuntu_18_04-x86_64.tar.gz" -C "./target/release/" "alacritty"
# x86_64 deb
docker run -v "$(pwd):/source" undeadleech/alacritty-ubuntu \
sh -c "cd /source && \
/root/.cargo/bin/cargo deb --no-build --manifest-path alacritty/Cargo.toml --output ./target/deploy/${name}-ubuntu_18_04_amd64.deb"
# 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 run -v "$(pwd):/source" undeadleech/alacritty-ubuntu-i386 \
/root/.cargo/bin/cargo build --release --manifest-path /source/Cargo.toml
tar -cvzf "./target/deploy/${name}-ubuntu_18_04-i386.tar.gz" -C "./target/release/" "alacritty"
# i386 deb
docker run -v "$(pwd):/source" undeadleech/alacritty-ubuntu-i386 \
sh -c "cd /source && \
/root/.cargo/bin/cargo deb --no-build --manifest-path alacritty/Cargo.toml --output ./target/deploy/${name}-ubuntu_18_04_i386.deb"
# Make sure all files can be uploaded without permission errors
sudo chown -R $USER:$USER "./target"
elif [ "$TRAVIS_OS_NAME" == "windows" ]; then
choco install 7zip nuget.commandline choco install 7zip nuget.commandline
nuget install WiX nuget install WiX
@ -62,20 +23,64 @@ elif [ "$TRAVIS_OS_NAME" == "windows" ]; then
"./target/release/winpty-agent.exe" "./target/release/winpty-agent.exe"
# Create msi installer # Create msi installer
./WiX.*/tools/candle.exe -nologo -arch "x64" -ext WixUIExtension -ext WixUtilExtension -out "target/alacritty.wixobj" "extra/windows/wix/alacritty.wxs" ./WiX.*/tools/candle.exe -nologo -arch "x64" -ext WixUIExtension -ext WixUtilExtension -out \
./WiX.*/tools/light.exe -nologo -ext WixUIExtension -ext WixUtilExtension -out "target/installer.msi" -sice:ICE61 -sice:ICE91 "target/alacritty.wixobj" "target/alacritty.wixobj" "extra/windows/wix/alacritty.wxs"
./WiX.*/tools/light.exe -nologo -ext WixUIExtension -ext WixUtilExtension -out \
"target/installer.msi" -sice:ICE61 -sice:ICE91 "target/alacritty.wixobj"
mv "target/installer.msi" "target/deploy/${name}-windows-installer.msi" mv "target/installer.msi" "target/deploy/${name}-windows-installer.msi"
}
function osx {
rm -rf "./target/release" \
&& make dmg \
&& mv "./target/release/osx/Alacritty.dmg" "./target/deploy/${name}.dmg"
}
function debian {
arch=$1
docker pull "undeadleech/alacritty-ubuntu-${arch}" \
&& docker_tar "alacritty-ubuntu-${arch}" "ubuntu_18_04_${arch}" \
&& docker_deb "alacritty-ubuntu-${arch}" "ubuntu_18_04_${arch}" \
&& sudo chown -R $USER:$USER "./target"
}
function docker_tar {
image=$1
archname=$2
docker run -v "$(pwd):/source" "undeadleech/${image}" \
/root/.cargo/bin/cargo build --release --manifest-path /source/Cargo.toml
tar -cvzf "./target/deploy/${name}-${archname}.tar.gz" -C "./target/release/" "alacritty"
}
function docker_deb {
image=$1
archname=$2
docker run -v "$(pwd):/source" "undeadleech/${image}" sh -c \
"cd /source && /root/.cargo/bin/cargo deb --no-build --manifest-path alacritty/Cargo.toml \
--output ./target/deploy/${name}-${archname}.deb"
}
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
osx || exit
elif [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$ARCH" != "i386" ]; then
debian "amd64" || exit
elif [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$ARCH" == "i386" ]; then
debian "i386" || exit
elif [ "$TRAVIS_OS_NAME" == "windows" ]; then
windows
fi fi
# Convert and add manpage if it changed # Convert and add manpage if it changed
if [ -n "$(git diff $prev_tag HEAD extra/alacritty.man)" ]; then gzip -c "./extra/alacritty.man" > "./target/deploy/alacritty.1.gz" || exit
gzip -c "./extra/alacritty.man" > "./target/deploy/alacritty.1.gz"
fi
# Rename Alacritty logo to match .desktop file # Rename Alacritty logo to match .desktop file
cp "./extra/logo/alacritty-term.svg" "./target/deploy/Alacritty.svg" cp "./extra/logo/alacritty-term.svg" "./target/deploy/Alacritty.svg" || exit
# Offer various other files # Offer various other files
for file in "${aux_files[@]}"; do for file in "${aux_files[@]}"; do
cp $file "./target/deploy/" cp $file "./target/deploy/" || exit
done done

View file

@ -2,7 +2,8 @@ FROM i386/ubuntu:latest
ENV USER root ENV USER root
RUN apt-get update && apt-get install -y cmake libfreetype6-dev libfontconfig1-dev curl RUN apt-get update && apt-get install -y cmake libfreetype6-dev libfontconfig1-dev curl python3 \
libxcb-xfixes0-dev
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y 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/rustup default stable-i686-unknown-linux-gnu