Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 6 pull requests #65631

Closed
wants to merge 32 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d5ffd36
Change HashSet element type to `DefId`
sinkuu Oct 16, 2019
ac2f906
Make use of the return value of `HashSet::insert`
sinkuu Oct 16, 2019
c4deea2
Avoid unnecessary arena allocations in `expand_pattern()`.
nnethercote Oct 16, 2019
f721547
ci: move install-awscli.sh into scripts/
pietroalbini Oct 4, 2019
e9974f9
ci: extract dumping the environment into a script
pietroalbini Oct 4, 2019
6b89d59
ci: extract installing sccache into a script
pietroalbini Oct 4, 2019
aa76006
ci: extract installing clang into a script
pietroalbini Oct 4, 2019
7c23f58
ci: extract switching xcode into a script
pietroalbini Oct 7, 2019
6cfe5d9
ci: extract parts of windows-build-deps into scripts
pietroalbini Oct 7, 2019
1ac2ad3
ci: extract disabling git crlf handling into a script
pietroalbini Oct 7, 2019
f828a41
ci: extract installing msys2 into a script
pietroalbini Oct 7, 2019
a5ea6ce
ci: extract installing mingw into a script
pietroalbini Oct 8, 2019
69a946a
ci: extract installing ninja into a script
pietroalbini Oct 8, 2019
d778f95
ci: extract enabling ipv6 on docker into a script
pietroalbini Oct 8, 2019
09bf3cf
ci: extract checking out submodules into a script
pietroalbini Oct 8, 2019
646da3a
ci: extract verifying line endings into a script
pietroalbini Oct 8, 2019
c139db7
ci: use shared.sh in scripts/install-awscli.sh
pietroalbini Oct 8, 2019
9458c9b
ci: cleanup platform detection
pietroalbini Oct 8, 2019
11173f8
ci: fix tidy
pietroalbini Oct 8, 2019
11c59e3
ci: reuse the mirrors base url from shared.sh in scripts
pietroalbini Oct 9, 2019
6351efb
ci: fix innosetup installation
pietroalbini Oct 15, 2019
375e34d
ci: fix wrong path being set in install-msys2.sh
pietroalbini Oct 18, 2019
2e36c84
Remove unreachable unit tuple compare binop codegen
TheOregonTrail Sep 9, 2019
925e304
Fix resolve_type_vars_with_obligations not resolving const inference
skinnyBat Oct 18, 2019
9cefcd3
Rename resolve_type_vars_with_obligations to
skinnyBat Oct 18, 2019
379733e
typo fix
Oct 20, 2019
05937fc
Rollup merge of #65202 - pietroalbini:scriptify-ci-config, r=alexcric…
JohnTitor Oct 20, 2019
ea12ddc
Rollup merge of #65460 - sinkuu:contains_insert, r=varkor
JohnTitor Oct 20, 2019
6d6ead4
Rollup merge of #65463 - nnethercote:rm-arena-allocation-from-expand_…
JohnTitor Oct 20, 2019
df117c2
Rollup merge of #65579 - skinny121:resolve_const_vars, r=varkor
JohnTitor Oct 20, 2019
6e875a9
Rollup merge of #65605 - bjorn3:fix_63906, r=eddyb
JohnTitor Oct 20, 2019
faf69f6
Rollup merge of #65626 - guanqun:patch-1, r=varkor
JohnTitor Oct 20, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 0 additions & 46 deletions src/ci/azure-pipelines/steps/install-clang.yml

This file was deleted.

21 changes: 0 additions & 21 deletions src/ci/azure-pipelines/steps/install-sccache.yml

This file was deleted.

120 changes: 0 additions & 120 deletions src/ci/azure-pipelines/steps/install-windows-build-deps.yml

This file was deleted.

147 changes: 80 additions & 67 deletions src/ci/azure-pipelines/steps/run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,86 +48,99 @@ steps:
- bash: python src/ci/cpu-usage-over-time.py &> cpu-usage.csv &
displayName: "Collect CPU-usage statistics in the background"

- bash: printenv | sort
displayName: Show environment variables
- bash: src/ci/scripts/dump-environment.sh
displayName: Show the current environment

- bash: |
set -e
df -h
du . | sort -nr | head -n100
displayName: Show disk usage
# FIXME: this hasn't been tested, but maybe it works on Windows? Should test!
condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT'))

- template: install-sccache.yml
- template: install-clang.yml

# Switch to XCode 9.3 on OSX since it seems to be the last version that supports
# i686-apple-darwin. We'll eventually want to upgrade this and it will probably
# force us to drop i686-apple-darwin, but let's keep the wheels turning for now.
- bash: |
set -e
sudo xcode-select --switch /Applications/Xcode_9.3.app
displayName: Switch to Xcode 9.3 (OSX)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
- bash: src/ci/scripts/install-sccache.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Install sccache
condition: and(succeeded(), not(variables.SKIP_JOB))

- template: install-windows-build-deps.yml
- bash: src/ci/scripts/install-clang.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Install clang
condition: and(succeeded(), not(variables.SKIP_JOB))

# Looks like docker containers have IPv6 disabled by default, so let's turn it
# on since libstd tests require it
- bash: |
set -e
sudo mkdir -p /etc/docker
echo '{"ipv6":true,"fixed-cidr-v6":"fd9a:8454:6789:13f7::/64"}' | sudo tee /etc/docker/daemon.json
sudo service docker restart
displayName: Enable IPv6
condition: and(succeeded(), not(variables.SKIP_JOB), eq(variables['Agent.OS'], 'Linux'))
- bash: src/ci/scripts/switch-xcode.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Switch to Xcode 9.3
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/install-wix.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Install wix
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/install-innosetup.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Install InnoSetup
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/windows-symlink-build-dir.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Ensure the build happens on C:\ instead of D:\
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/disable-git-crlf-conversion.sh
displayName: "Disable git automatic line ending conversion (on C:/)"
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/install-msys2.sh
env:
AGENT_OS: $(Agent.OS)
SYSTEM_WORKFOLDER: $(System.Workfolder)
displayName: Install msys2
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/install-mingw.sh
env:
AGENT_OS: $(Agent.OS)
SYSTEM_WORKFOLDER: $(System.Workfolder)
displayName: Install MinGW
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/install-ninja.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Install ninja
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/enable-docker-ipv6.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Enable IPv6 on Docker
condition: and(succeeded(), not(variables.SKIP_JOB))

# Disable automatic line ending conversion (again). On Windows, when we're
# installing dependencies, something switches the git configuration directory or
# re-enables autocrlf. We've not tracked down the exact cause -- and there may
# be multiple -- but this should ensure submodules are checked out with the
# appropriate line endings.
- bash: git config --replace-all --global core.autocrlf false
displayName: "Disable git automatic line ending conversion"
- bash: src/ci/scripts/disable-git-crlf-conversion.sh
displayName: Disable git automatic line ending conversion
condition: and(succeeded(), not(variables.SKIP_JOB))

# Check out all our submodules, but more quickly than using git by using one of
# our custom scripts
- bash: |
set -e
mkdir -p $HOME/rustsrc
$BUILD_SOURCESDIRECTORY/src/ci/init_repo.sh . $HOME/rustsrc
condition: and(succeeded(), not(variables.SKIP_JOB), ne(variables['Agent.OS'], 'Windows_NT'))
displayName: Check out submodules (Unix)
- script: |
if not exist C:\cache\rustsrc\NUL mkdir C:\cache\rustsrc
sh src/ci/init_repo.sh . /c/cache/rustsrc
condition: and(succeeded(), not(variables.SKIP_JOB), eq(variables['Agent.OS'], 'Windows_NT'))
displayName: Check out submodules (Windows)

# See also the disable for autocrlf above, this just checks that it worked
#
# We check both in rust-lang/rust and in a submodule to make sure both are
# accurate. Submodules are checked out significantly later than the main
# repository in this script, so settings can (and do!) change between then.
#
# Linux (and maybe macOS) builders don't currently have dos2unix so just only
# run this step on Windows.
- bash: |
set -x
# print out the git configuration so we can better investigate failures in
# the following
git config --list --show-origin
dos2unix -ih Cargo.lock src/tools/rust-installer/install-template.sh
endings=$(dos2unix -ic Cargo.lock src/tools/rust-installer/install-template.sh)
# if endings has non-zero length, error out
if [ -n "$endings" ]; then exit 1 ; fi
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
displayName: Verify line endings are LF
- bash: src/ci/scripts/checkout-submodules.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Checkout submodules
condition: and(succeeded(), not(variables.SKIP_JOB))

- bash: src/ci/scripts/verify-line-endings.sh
env:
AGENT_OS: $(Agent.OS)
displayName: Verify line endings
condition: and(succeeded(), not(variables.SKIP_JOB))

# Ensure the `aws` CLI is installed so we can deploy later on, cache docker
# images, etc.
- bash: src/ci/install-awscli.sh
- bash: src/ci/scripts/install-awscli.sh
env:
AGENT_OS: $(Agent.OS)
condition: and(succeeded(), not(variables.SKIP_JOB))
Expand Down
2 changes: 1 addition & 1 deletion src/ci/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ make check-bootstrap

# Display the CPU and memory information. This helps us know why the CI timing
# is fluctuating.
if isOSX; then
if isMacOS; then
system_profiler SPHardwareDataType || true
sysctl hw || true
ncpus=$(sysctl -n hw.ncpu)
Expand Down
17 changes: 17 additions & 0 deletions src/ci/scripts/checkout-submodules.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash
# Check out all our submodules, but more quickly than using git by using one of
# our custom scripts

set -euo pipefail
IFS=$'\n\t'

source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"

if isWindows; then
path="/c/cache/rustsrc"
else
path="${HOME}/rustsrc"
fi

mkdir -p "${path}"
"$(cd "$(dirname "$0")" && pwd)/../init_repo.sh" . "${path}"
13 changes: 13 additions & 0 deletions src/ci/scripts/disable-git-crlf-conversion.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
# Disable automatic line ending conversion, which is enabled by default on
# Azure's Windows image. Having the conversion enabled caused regressions both
# in our test suite (it broke miri tests) and in the ecosystem, since we
# started shipping install scripts with CRLF endings instead of the old LF.
#
# Note that we do this a couple times during the build as the PATH and current
# user/directory change, e.g. when mingw is enabled.

set -euo pipefail
IFS=$'\n\t'

git config --replace-all --global core.autocrlf false
Loading