Skip to content
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
699376a
Add Azure Pipelines
johnterickson May 6, 2019
e234a90
Disable 32-bit OSX
johnterickson May 6, 2019
c50517a
ci: reduce all azure timeouts to 3 hours
pietroalbini May 10, 2019
abd4b3a
ci: remove travis ipv6 docker hack on azure
pietroalbini May 10, 2019
869ddd8
ci: still use aws for caches
pietroalbini May 10, 2019
7dfd8ce
ci: remove fanout from the azure pipelines config
pietroalbini May 12, 2019
aab0bb4
ci: merge the i1686-gnu images
pietroalbini May 12, 2019
94f7660
ci: re-enable fds-are-cloexec test on macOS
pietroalbini May 12, 2019
06bc0da
ci: remove test configuration
pietroalbini May 12, 2019
5db55e6
ci: disable toolstate commits on azure
pietroalbini May 12, 2019
da94978
ci: remove trailing whitespaces from azure config
pietroalbini May 13, 2019
694ea76
ci: remove links to johnterickson repo
pietroalbini May 13, 2019
807b7dd
ci: disable builders not useful during the evaluation
pietroalbini May 13, 2019
4965ffd
Update src/bootstrap/util.rs
pietroalbini May 13, 2019
92bf1e6
ci: update azure variable groups
pietroalbini May 15, 2019
30b008f
ci: remove stray echo
pietroalbini May 15, 2019
bf639a1
ci: remove outdated comment
pietroalbini May 15, 2019
a89e8d2
ci: remove yet another outdated comment
pietroalbini May 20, 2019
f23c1ba
ci: use ##vso[task.prependpath] on azure
pietroalbini May 20, 2019
d27cb82
ci: add an image for dist-x86_64-linux try on azure
pietroalbini May 20, 2019
9f37b3a
ci: deploy artifacts on azure
pietroalbini May 20, 2019
79d28c2
Don't bother with `stamp` utility
alexcrichton May 20, 2019
1be9fe6
Refactor azure pipelines configuration
alexcrichton May 20, 2019
4183f3c
Configure a few more builders on `try` temporarily
alexcrichton May 20, 2019
91b1655
Remove a now stray file
alexcrichton May 20, 2019
528cce9
Job name config works for all platforms
alexcrichton May 20, 2019
7b266ff
Fix a typo in clang install
alexcrichton May 20, 2019
804ec5f
Execute `docker/run.sh` on Linux
alexcrichton May 20, 2019
fa8d3b5
Fix a typo in the run script
alexcrichton May 20, 2019
0843207
Make sure sccache not present doesn't kill the build
alexcrichton May 20, 2019
751597f
Check out rustfmt submodule through tarballs
alexcrichton May 20, 2019
9b8af06
Manually install AWS CLI
alexcrichton May 20, 2019
12f3701
Only execute conditional steps on success
alexcrichton May 20, 2019
9843a79
Finalize AWS install
alexcrichton May 20, 2019
e6830c1
Merge pull request #2 from alexcrichton/azure-pipelines
pietroalbini May 21, 2019
1daab47
ci: temp increase of the timeout to 10 hours
pietroalbini May 21, 2019
67db230
ci: fix tidy
pietroalbini May 21, 2019
d2304e1
ci: increase timeout, take 2
pietroalbini May 21, 2019
0e5f02f
Fix typo in key configuration
alexcrichton May 21, 2019
571366f
Attempt to enable IPv6 for Linux
alexcrichton May 21, 2019
a83250d
Update upload logic to upload right directory
alexcrichton May 21, 2019
ebdc36e
Re-enable hack for Windows builds to see if it works
alexcrichton May 21, 2019
55108b3
Run a full build on `try` temporarily
alexcrichton May 21, 2019
e8f0e70
Typos
alexcrichton May 21, 2019
a225551
Only run Window script on Windows
alexcrichton May 21, 2019
7b7e172
Place timeouts at the job level
alexcrichton May 21, 2019
0f4b546
Go back to fewer builders to test on `try`
alexcrichton May 21, 2019
8d42b87
Use new-style s3 urls in docker download script
alexcrichton May 21, 2019
190d198
ci: switch to xcode 9.3 on azure
pietroalbini May 21, 2019
beea4f5
Execute everything!
alexcrichton May 21, 2019
78965f4
Use xcode 9.3 on all osx builders
alexcrichton May 21, 2019
e764f47
Disable solaris target since toolchain no longer builds
alexcrichton May 21, 2019
fe3dd0b
Merge remote-tracking branch 'origin/master' into azure-pipelines
alexcrichton May 21, 2019
e0ed2a3
Correct the upload_dir in script
alexcrichton May 21, 2019
e5418f6
Update webrender we're testing
alexcrichton May 21, 2019
36ee777
remove azure badge from the readme
pietroalbini May 22, 2019
a8ac80b
Final cleanups
alexcrichton May 22, 2019
24f262f
ci: toggle builders
pietroalbini May 22, 2019
2244ca3
ci: fix invalid syntax in the azure auto.yml
pietroalbini May 24, 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
9 changes: 3 additions & 6 deletions .azure-pipelines/auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ variables:

jobs:
- job: Linux
timeoutInMinutes: 180
pool:
vmImage: ubuntu-16.04
steps:
- template: steps/linux.yml
- template: steps/run.yml
strategy:
matrix:
x86_64-gnu-llvm-6.0:
Expand Down Expand Up @@ -151,13 +150,12 @@ jobs:
IMAGE: mingw-check

- job: macOS
timeoutInMinutes: 180
pool:
vmImage: macos-10.13
steps:
- checkout: self
fetchDepth: 2
- template: steps/macos.yml
- template: steps/run.yml
strategy:
matrix:
# OSX builders running tests, these run the full test suite.
Expand Down Expand Up @@ -216,11 +214,10 @@ jobs:


- job: Windows
timeoutInMinutes: 180
pool:
vmImage: 'vs2017-win2016'
steps:
- template: steps/windows.yml
- template: steps/run.yml
strategy:
matrix:
# # 32/64 bit MSVC tests
Expand Down
3 changes: 1 addition & 2 deletions .azure-pipelines/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@ pr:

jobs:
- job: Linux
timeoutInMinutes: 180
pool:
vmImage: ubuntu-16.04
steps:
- template: steps/linux.yml
- template: steps/run.yml
strategy:
matrix:
x86_64-gnu-llvm-6.0:
Expand Down
40 changes: 40 additions & 0 deletions .azure-pipelines/steps/install-clang.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
steps:

- bash: |
set -e
curl -f http://releases.llvm.org/7.0.0/clang+llvm-7.0.0-x86_64-apple-darwin.tar.xz | tar xJf -

export CC=`pwd`/clang+llvm-7.0.0-x86_64-apple-darwin/bin/clang
echo "##vso[task.setvariable variable=CC]$CC"

export CXX=`pwd`/clang+llvm-7.0.0-x86_64-apple-darwin/bin/clang++
echo "##vso[task.setvariable variable=CXX]$CXX"

# Configure `AR` specifically so rustbuild doesn't try to infer it as
# `clang-ar` by accident.
echo "##vso[task.setvariable variable=AR]ar"
displayName: Install clang (OSX)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))

# If we're compiling for MSVC then we, like most other distribution builders,
# switch to clang as the compiler. This'll allow us eventually to enable LTO
# amongst LLVM and rustc. Note that we only do this on MSVC as I don't think
# clang has an output mode compatible with MinGW that we need. If it does we
# should switch to clang for MinGW as well!
#
# Note that the LLVM installer is an NSIS installer
#
# Original downloaded here came from
# http://releases.llvm.org/7.0.0/LLVM-7.0.0-win64.exe
- script: |
powershell -Command "iwr -outf %TEMP%\LLVM-7.0.0-win64.exe https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/LLVM-7.0.0-win64.exe"
set CLANG_DIR=%CD%\citools\clang-rust
%TEMP%\LLVM-7.0.0-win64.exe /S /NCRC /D=%CLANG_DIR%
set RUST_CONFIGURE_ARGS=%RUST_CONFIGURE_ARGS% --set llvm.clang-cl=%CLANG_DIR%\bin\clang-cl.exe
echo ##vso[task.setvariable variable=RUST_CONFIGURE_ARGS]%RUST_CONFIGURE_ARGS%
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), eq(variables['MINGW_URL'],''))
displayName: Install clang (Windows)

# Note that we don't install clang on Linux since its compiler story is just so
# different. Each container has its own toolchain configured appropriately
# already.
21 changes: 21 additions & 0 deletions .azure-pipelines/steps/install-sccache.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
steps:

- bash: |
set -e
curl -fo /usr/local/bin/sccache https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2018-04-02-sccache-x86_64-apple-darwin
chmod +x /usr/local/bin/sccache
displayName: Install sccache (OSX)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))

- script: |
md sccache
powershell -Command "iwr -outf sccache\sccache.exe https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2018-04-26-sccache-x86_64-pc-windows-msvc"
echo ##vso[task.prependpath]%CD%\sccache
displayName: Install sccache (Windows)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))

# Note that we don't install sccache on Linux since it's installed elsewhere
# through all the containers.
#
# FIXME: we should probably install sccache outside the containers and then
# mount it inside the containers so we can centralize all installation here.
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
steps:
- checkout: self
fetchDepth: 2

- bash: |
set -x
git submodule
export SUBMODULES_EXCLUDES=$(git submodule | grep -Eow 'src/[^ ]+' | sed 's/\(.*\)/--exclude=\1\/\.git/')
echo "##vso[task.setvariable variable=SUBMODULES_EXCLUDES;]$SUBMODULES_EXCLUDES"

- script: |
REM echo hack as drive D is too small
IF NOT "%DISABLE_DISK_SPACE_HACK%"=="1" (
mkdir c:\MORE_SPACE
mklink /J build c:\MORE_SPACE
)
# FIXME: are these still needed?
# - bash: |
# set -x
# git submodule
# export SUBMODULES_EXCLUDES=$(git submodule | grep -Eow 'src/[^ ]+' | sed 's/\(.*\)/--exclude=\1\/\.git/')
# echo "##vso[task.setvariable variable=SUBMODULES_EXCLUDES;]$SUBMODULES_EXCLUDES"
#
# - script: |
# REM echo hack as drive D is too small
# IF NOT "%DISABLE_DISK_SPACE_HACK%"=="1" (
# mkdir c:\MORE_SPACE
# mklink /J build c:\MORE_SPACE
# )

- script: |
set MSYS_PATH=%CD%\citools\msys64
Expand All @@ -31,6 +29,7 @@ steps:
echo ##vso[task.setvariable variable=MSYS_PATH]%MSYS_PATH%
echo ##vso[task.prependpath]%MSYS_PATH%\usr\bin
displayName: Install msys2
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))

# If we need to download a custom MinGW, do so here and set the path
# appropriately.
Expand All @@ -44,28 +43,9 @@ steps:
powershell -Command "iwr -outf %MINGW_ARCHIVE% %MINGW_URL%/%MINGW_ARCHIVE%"
7z x -y %MINGW_ARCHIVE% > nul
echo ##vso[task.prependpath]%CD%\%MINGW_DIR%\bin
condition: and(succeeded(), ne(variables['MINGW_URL'],''))
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), ne(variables['MINGW_URL'],''))
displayName: Download custom MinGW

# If we're compiling for MSVC then we, like most other distribution builders,
# switch to clang as the compiler. This'll allow us eventually to enable LTO
# amongst LLVM and rustc. Note that we only do this on MSVC as I don't think
# clang has an output mode compatible with MinGW that we need. If it does we
# should switch to clang for MinGW as well!
#
# Note that the LLVM installer is an NSIS installer
#
# Original downloaded here came from
# http://releases.llvm.org/7.0.0/LLVM-7.0.0-win64.exe
- script: |
powershell -Command "iwr -outf %TEMP%\LLVM-7.0.0-win64.exe https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/LLVM-7.0.0-win64.exe"
set CLANG_DIR=%CD%\citools\clang-rust
%TEMP%\LLVM-7.0.0-win64.exe /S /NCRC /D=%CLANG_DIR%
set RUST_CONFIGURE_ARGS=%RUST_CONFIGURE_ARGS% --set llvm.clang-cl=%CLANG_DIR%\bin\clang-cl.exe
echo ##vso[task.setvariable variable=RUST_CONFIGURE_ARGS]%RUST_CONFIGURE_ARGS%
condition: and(succeeded(), eq(variables['MINGW_URL'],''))
displayName: Download clang

# Here we do a pretty heinous thing which is to mangle the MinGW installation
# we just had above. Currently, as of this writing, we're using MinGW-w64
# builds of gcc, and that's currently at 6.3.0. We use 6.3.0 as it appears to
Expand All @@ -87,28 +67,20 @@ steps:
echo ON
powershell -Command "iwr -outf 2017-04-20-%MSYS_BITS%bit-gdborig.exe %MINGW_URL%/2017-04-20-%MSYS_BITS%bit-gdborig.exe"
mv 2017-04-20-%MSYS_BITS%bit-gdborig.exe %MINGW_DIR%\bin\gdborig.exe
condition: and(succeeded(), ne(variables['MINGW_URL'],''))
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), ne(variables['MINGW_URL'],''))
displayName: Override with 6.3.0 gdb with 6.2.0 gdb

# Otherwise pull in the MinGW installed on appveyor
- script: |
echo Find mingw
set PATH | findstr /i msys
set PATH | findstr /i mingw
echo ##vso[task.prependpath]%MSYS_PATH%\mingw%MSYS_BITS%\bin
condition: and(succeeded(), eq(variables['MINGW_URL'],''))
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), eq(variables['MINGW_URL'],''))
displayName: Add MinGW to path

- script: |
copy C:\Python27amd64\python.exe C:\Python27amd64\python2.7.exe
echo ##vso[task.prependpath]C:\Python27amd64
displayName: Prefer the "native" Python as LLVM has trouble building with MSYS sometimes

- script: |
md sccache
powershell -Command "iwr -outf sccache\sccache.exe https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2018-04-26-sccache-x86_64-pc-windows-msvc"
echo ##vso[task.prependpath]%CD%\sccache
displayName: Download and install sccache
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))

# Note that this is originally from the github releases patch of Ninja
- script: |
Expand All @@ -120,41 +92,4 @@ steps:
echo ##vso[task.setvariable variable=RUST_CONFIGURE_ARGS]%RUST_CONFIGURE_ARGS%
echo ##vso[task.prependpath]%CD%\ninja
displayName: Download and install ninja

- script: |
mkdir handle
powershell -Command "iwr -outf 2017-05-15-Handle.zip https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2017-05-15-Handle.zip"
7z x -ohandle 2017-05-15-Handle.zip
del 2017-05-15-Handle.zip
set PATH=%PATH%;%CD%\handle
handle.exe -accepteula -help
echo ##vso[task.setvariable variable=PATH]%PATH%
displayName: Help debug handle issues

- template: show-environment-variables.yml

- script: |
REM echo force the specific VS version
IF "%VCVARS_BAT%" NEQ "" (
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\%VCVARS_BAT%"
)

where sccache
where rev
set | findstr /v SCCACHE_AZURE_CONNECTION_STRING

if not exist D:\cache\rustsrc\NUL mkdir D:\cache\rustsrc

sh src/ci/init_repo.sh . /d/cache/rustsrc
sh src/ci/run.sh
env:
CI: true
CI_JOB_NAME: $(System.JobDisplayName)
SRC: .
NO_CCACHE: 1

# explicitly decrypt secret variables
# see https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch
AWS_ACCESS_KEY_ID: $(SCCACHE_AWS_ACCESS_KEY_ID)
AWS_SECRET_ACCESS_KEY: $(SCCACHE_AWS_SECRET_ACCESS_KEY)
displayName: Run script
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
35 changes: 0 additions & 35 deletions .azure-pipelines/steps/linux.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .azure-pipelines/steps/macos.yml

This file was deleted.

35 changes: 0 additions & 35 deletions .azure-pipelines/steps/run-script.yml

This file was deleted.

Loading