mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
fc0990e5cc
Fixes https://github.com/servo/servo/issues/12914 I've made this few weeks ago, its an example how could everything looks like. It downloads and setup all needed dependencies for MSVC. It's has version in case if some dependencies need to be updated. Zip files and folder in zip need to be named ``<dep>-<version>``. Also if cmake already exist in PATH, it won't download it again. I want opinion on that, if this is right approaches and how to improve it. cc @vvuk Source-Repo: https://github.com/servo/servo Source-Revision: daa30e60f1a7af87ee88aae4fd6e47e210ee9a76 --HG-- rename : servo/python/tidy/servo_tidy_tests/shebang_license.py => servo/python/servo/bootstrapper/__init__.py
75 lines
3.4 KiB
YAML
75 lines
3.4 KiB
YAML
version: 1.0.{build}
|
|
|
|
environment:
|
|
RUST_BACKTRACE: 1
|
|
HOME: '%APPVEYOR_BUILD_FOLDER%'
|
|
# The appveyor image we use has a pretty huge set of things installed... we make the
|
|
# initial PATH something sane so we know what to expect
|
|
PATH: "C:\\windows\\system32;\
|
|
C:\\windows;\
|
|
C:\\windows\\System32\\Wbem;\
|
|
C:\\windows\\System32\\WindowsPowerShell\\v1.0;\
|
|
C:\\ProgramData\\chocolatey\\bin;\
|
|
C:\\Python27;\
|
|
C:\\Python27\\Scripts;\
|
|
C:\\Tools\\PsTools;\
|
|
C:\\Tools\\NuGet3;\
|
|
C:\\Program Files\\Microsoft\\Web Platform Installer\\;\
|
|
C:\\Program Files\\7-Zip;\
|
|
C:\\Program Files\\Mercurial;\
|
|
C:\\Program Files (x86)\\Subversion\\bin;\
|
|
C:\\Program Files (x86)\\CMake\\bin;\
|
|
C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;\
|
|
C:\\Program Files (x86)\\MSBuild\\14.0\\Bin;\
|
|
C:\\Program Files\\Amazon\\AWSCLI\\;\
|
|
C:\\Program Files\\Microsoft Windows Performance Toolkit\\;\
|
|
C:\\Program Files\\LLVM\\bin;\
|
|
C:\\Program Files\\Git LFS;\
|
|
C:\\Program Files\\Git\\cmd;\
|
|
C:\\Program Files\\Git\\usr\\bin;\
|
|
C:\\Program Files\\AppVeyor\\BuildAgent;"
|
|
matrix:
|
|
- TARGET: nightly-x86_64-pc-windows-msvc
|
|
- TARGET: nightly-x86_64-pc-windows-gnu
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
platform:
|
|
- x64
|
|
|
|
cache:
|
|
- .servo -> rust-nightly-date, cargo-nightly-build
|
|
- .cargo -> rust-nightly-date, cargo-nightly-build
|
|
|
|
install:
|
|
- if %TARGET:*-msvc=msvc%==msvc set BUILD_ENV=msvc
|
|
- if %TARGET:*-gnu=gnu%==gnu set BUILD_ENV=gnu
|
|
- if %BUILD_ENV%==gnu set PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin\;%PATH%
|
|
- if %BUILD_ENV%==gnu set MSYSTEM=MINGW64
|
|
- if %BUILD_ENV%==gnu set MSYS=winsymlinks=lnk
|
|
- if %BUILD_ENV%==gnu bash -lc "echo $MSYSTEM; pacman --needed --noconfirm -Sy pacman-mirrors"
|
|
- if %BUILD_ENV%==gnu bash -lc "pacman --noconfirm -Sy"
|
|
- if %BUILD_ENV%==gnu bash -lc "pacman -Sy --needed --noconfirm git mingw-w64-x86_64-toolchain mingw-w64-x86_64-freetype mingw-w64-x86_64-icu mingw-w64-x86_64-nspr mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-expat mingw-w64-x86_64-cmake tar diffutils patch patchutils make python2-setuptools mingw-w64-x86_64-ffmpeg"
|
|
- if %BUILD_ENV%==gnu bash -lc "easy_install-2.7 pip virtualenv"
|
|
- if %BUILD_ENV%==gnu bash -lc "mv /mingw64/bin/python2.exe /mingw64/bin/python2-mingw64.exe"
|
|
- if %BUILD_ENV%==gnu bash -lc "mv /mingw64/bin/python2.7.exe /mingw64/bin/python2.7-mingw64.exe"
|
|
# Downgrade msys2 build GCC to 5.4.0-1 - https://github.com/servo/servo/issues/12512
|
|
- if %BUILD_ENV%==gnu set GCC_URL=http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc
|
|
- if %BUILD_ENV%==gnu set GCC_EXT=5.4.0-1-any.pkg.tar.xz
|
|
- if %BUILD_ENV%==gnu bash -lc "pacman -U --noconfirm $GCC_URL-$GCC_EXT $GCC_URL-ada-$GCC_EXT $GCC_URL-fortran-$GCC_EXT $GCC_URL-libgfortran-$GCC_EXT $GCC_URL-libs-$GCC_EXT $GCC_URL-objc-$GCC_EXT"
|
|
|
|
# Uncomment these lines to expose RDP access information to the build machine in the build log.
|
|
#init:
|
|
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
#
|
|
#on_finish:
|
|
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
|
|
build_script:
|
|
- if %BUILD_ENV%==msvc mach build -d -v && mach test-unit
|
|
- if %BUILD_ENV%==gnu bash -lc "./mach build -d -v && ./mach test-unit"
|
|
|
|
test: off
|