Skip to content

Commit

Permalink
travis: Pass --release-channel=nightly on deploy
Browse files Browse the repository at this point in the history
This commit passes the `--release-channel=nightly` flag to all images which have
the `DEPLOY` flag set. This means that we'll name artifacts and the compiler
appropriately.

This reworks a bit how arguments are passed, but for now doesn't change what's
already being passed. Eventually we'll want to avoid enabling debug assertions
and llvm assertions for *all* releases, but I figure we can tackle that a little
bit more down the road.
  • Loading branch information
alexcrichton committed Jan 17, 2017
1 parent 4ce7acc commit 0618580
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 11 deletions.
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ fi
case "$CFG_RELEASE_CHANNEL" in
nightly )
msg "overriding settings for $CFG_RELEASE_CHANNEL"
CFG_ENABLE_LLVM_ASSERTIONS=1
enable_if_not_disabled llvm-assertions
# FIXME(stage0) re-enable this on the next stage0 now that #35566 is
# fixed
case "$CFG_BUILD" in
Expand Down
1 change: 1 addition & 0 deletions src/ci/docker/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ exec docker \
--env SRC=/checkout \
$args \
--env CARGO_HOME=/cargo \
--env DEPLOY=$DEPLOY \
--env LOCAL_USER_ID=`id -u` \
--volume "$HOME/.cargo:/cargo" \
rust-ci \
Expand Down
43 changes: 33 additions & 10 deletions src/ci/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,47 @@ if [ "$LOCAL_USER_ID" != "" ]; then
exec su --preserve-environment -c "env PATH=$PATH \"$0\"" user
fi

RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-sccache"
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-quiet-tests"
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-manage-submodules"

# FIXME: we shouldn't forcibly enable debug assertions and llvm assertions when
# `DEPLOY` is set because then we'll be shipping slower binaries. We
# should only set these for auto branches, but we need to make sure that
# if we disable this all the relevant platforms are still tested
# somewhere with debug and llvm assertions.
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-debug-assertions"

# In general we always want to run tests with LLVM assertions enabled, but not
# all platforms currently support that, so we have an option to disable.
if [ "$NO_LLVM_ASSERTIONS" = "" ]; then
ENABLE_LLVM_ASSERTIONS=--enable-llvm-assertions
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-llvm-assertions"
fi

# If we're deploying artifacts then we set the release channel, otherwise if
# we're not deploying then we want to be sure to enable all assertions becauase
# we'll be running tests
#
# FIXME: need a scheme for changing this `nightly` value to `beta` and `stable`
# either automatically or manually.
if [ "$DEPLOY" != "" ]; then
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --release-channel=nightly"

if [ "$NO_LLVM_ASSERTIONS" = "1" ]; then
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-llvm-assertions"
fi
fi

# We want to enable usage of the `src/vendor` dir as much as possible, but not
# all test suites have all their deps in there (just the main bootstrap) so we
# have the ability to disable this flag
if [ "$NO_VENDOR" = "" ]; then
ENABLE_VENDOR=--enable-vendor
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-vendor"
fi

set -ex

$SRC/configure \
--disable-manage-submodules \
--enable-debug-assertions \
--enable-quiet-tests \
--enable-sccache \
$ENABLE_VENDOR \
$ENABLE_LLVM_ASSERTIONS \
$RUST_CONFIGURE_ARGS
$SRC/configure $RUST_CONFIGURE_ARGS

if [ "$TRAVIS_OS_NAME" = "osx" ]; then
ncpus=$(sysctl -n hw.ncpu)
Expand Down

0 comments on commit 0618580

Please sign in to comment.