ci updates
This commit is contained in:
parent
f717a69fd8
commit
14d152d903
5 changed files with 46 additions and 64 deletions
|
@ -3,10 +3,10 @@ sudo: required
|
||||||
dist: trusty
|
dist: trusty
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- ./ci/check.sh screenshot
|
- if [ -z "$TRAVIS_TAG" ]; then ./.ci/run.sh check leanshot; fi
|
||||||
|
|
||||||
before_deploy:
|
before_deploy:
|
||||||
- ./ci/build-release.sh screenshot ${TRAVIS_TAG}-${TRAVIS_OS_NAME}
|
- ./.ci/run.sh build leanshot ${TRAVIS_TAG}-${TRAVIS_OS_NAME}
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
- provider: releases
|
- provider: releases
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
FROM ekidd/rust-musl-builder
|
FROM ekidd/rust-musl-builder
|
||||||
|
|
||||||
RUN sudo apt-get update -y && sudo apt-get install -y mesa-common-dev libx11-dev libimlib2-dev
|
RUN sudo apt-get update -y && sudo apt-get install -y libmesa-dev mesa-common-dev libx11-dev libimlib2-dev
|
||||||
|
|
||||||
COPY . ./
|
COPY . ./
|
||||||
RUN sudo chown -R rust:rust .
|
RUN sudo chown -R rust:rust .
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Usage: ./build-release <PROJECT> ${TRAVIS_TAG}-${TRAVIS_OS_NAME}
|
|
||||||
#
|
|
||||||
# The latest version of this script is available at
|
|
||||||
# https://github.com/emk/rust-musl-builder/blob/master/examples/build-release
|
|
||||||
#
|
|
||||||
# Called by `.travis.yml` to build release binaries. We use
|
|
||||||
# ekidd/rust-musl-builder to make the Linux binaries so that we can run
|
|
||||||
# them unchanged on any distro, including tiny distros like Alpine (which
|
|
||||||
# is heavily used for Docker containers). Other platforms get regular
|
|
||||||
# binaries, which will generally be dynamically linked against libc.
|
|
||||||
#
|
|
||||||
# If you have a platform which supports static linking of libc, and this
|
|
||||||
# would be generally useful, please feel free to submit patches.
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
case `uname -s` in
|
|
||||||
Linux)
|
|
||||||
echo "Building static binaries using ekidd/rust-musl-builder"
|
|
||||||
docker build -t build-"$1"-image .
|
|
||||||
docker run -it --name build-"$1" build-"$1"-image bash -c 'cargo build --release'
|
|
||||||
docker cp build-"$1":/home/rust/src/target/x86_64-unknown-linux-musl/release/"$1" "$1"
|
|
||||||
docker rm build-"$1"
|
|
||||||
docker rmi build-"$1"-image
|
|
||||||
zip "$1"-"$2".zip "$1"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Building standard release binaries"
|
|
||||||
cargo build --release
|
|
||||||
zip -j "$1"-"$2".zip target/release/"$1"
|
|
||||||
;;
|
|
||||||
esac
|
|
27
ci/check.sh
27
ci/check.sh
|
@ -1,27 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Usage: ./build-release <PROJECT> ${TRAVIS_TAG}-${TRAVIS_OS_NAME}
|
|
||||||
#
|
|
||||||
# The latest version of this script is available at
|
|
||||||
# https://github.com/emk/rust-musl-builder/blob/master/examples/build-release
|
|
||||||
#
|
|
||||||
# Called by `.travis.yml` to build release binaries. We use
|
|
||||||
# ekidd/rust-musl-builder to make the Linux binaries so that we can run
|
|
||||||
# them unchanged on any distro, including tiny distros like Alpine (which
|
|
||||||
# is heavily used for Docker containers). Other platforms get regular
|
|
||||||
# binaries, which will generally be dynamically linked against libc.
|
|
||||||
#
|
|
||||||
# If you have a platform which supports static linking of libc, and this
|
|
||||||
# would be generally useful, please feel free to submit patches.
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
case `uname -s` in
|
|
||||||
Linux)
|
|
||||||
echo "Building static binaries using ekidd/rust-musl-builder"
|
|
||||||
docker build -f Dockerfile -t build-"$1"-image .
|
|
||||||
docker run -it --name build-"$1" build-"$1"-image bash -c 'cargo check'
|
|
||||||
docker rm build-"$1"
|
|
||||||
docker rmi build-"$1"-image
|
|
||||||
;;
|
|
||||||
esac
|
|
43
ci/run.sh
Executable file
43
ci/run.sh
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Modified version of build-release.sh
|
||||||
|
# Original comments left below.
|
||||||
|
#
|
||||||
|
# Usage: ./build-release <PROJECT> ${TRAVIS_TAG}-${TRAVIS_OS_NAME}
|
||||||
|
#
|
||||||
|
# The latest version of this script is available at
|
||||||
|
# https://github.com/emk/rust-musl-builder/blob/master/examples/build-release
|
||||||
|
#
|
||||||
|
# Called by `.travis.yml` to build release binaries. We use
|
||||||
|
# ekidd/rust-musl-builder to make the Linux binaries so that we can run
|
||||||
|
# them unchanged on any distro, including tiny distros like Alpine (which
|
||||||
|
# is heavily used for Docker containers). Other platforms get regular
|
||||||
|
# binaries, which will generally be dynamically linked against libc.
|
||||||
|
#
|
||||||
|
# If you have a platform which supports static linking of libc, and this
|
||||||
|
# would be generally useful, please feel free to submit patches.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
VOLUMES="-v $2-target:/home/rust/src/target -v $2-registry:/home/rust/.cargo/registry -v $2-git:/home/rust/.cargo/git"
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
check)
|
||||||
|
echo "Building static binaries using rust-musl-builder"
|
||||||
|
docker build --build-arg TOOLCHAIN="nightly" -f Dockerfile -t build-"$2"-image .
|
||||||
|
docker rm -f build-"$2" || true
|
||||||
|
docker run -it --name build-"$2" $VOLUMES build-"$2"-image bash -c 'cargo build --all'
|
||||||
|
docker rm build-"$2"
|
||||||
|
docker rmi build-"$2"-image
|
||||||
|
;;
|
||||||
|
build)
|
||||||
|
echo "Building static binaries using rust-musl-builder"
|
||||||
|
docker build --build-arg TOOLCHAIN="nightly" -t build-"$2"-image .
|
||||||
|
docker rm -f build-"$2" || true
|
||||||
|
docker run -it --name build-"$2" $VOLUMES build-"$2"-image bash -c 'cargo build --release --all'
|
||||||
|
docker cp build-"$2":/home/rust/src/target/x86_64-unknown-linux-musl/release/"$2" "$2"
|
||||||
|
docker rm build-"$2"
|
||||||
|
docker rmi build-"$2"-image
|
||||||
|
tar czvf "$2"-"$3".tar.gz "$2"
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
Reference in a new issue