Граф коммитов

47 Коммитов

Автор SHA1 Сообщение Дата
Christopher Warrington 2a049104b3 [travis] Consume image with only Boost 1.61+
This image was built from commit 3dc9704e. This image is 0.32 GiB
smaller than the previous one.
2018-04-05 22:09:12 -07:00
Christopher Warrington 3dc9704e9c [travis] Test Boost 1.61+ with clang & g++
Drops support for versions of Boost older than two years. Boost 1.61+ or
newer is now required. (Bond will likely continue to work with older
versions of Boost, but we'll no longer actively test against them.)

Using cron jobs, add coverage for all supported versions of Boost with
both Clang and G++.

This is the Travis-side fix for:
* https://github.com/Microsoft/bond/issues/666
* https://github.com/Microsoft/bond/issues/771
2018-04-05 20:25:17 -07:00
Christopher Warrington 3b829ea850 [travis] Build gRPC++ using latest gRPC master
This build flavor builds Bond with the latest gRPC master branch so we
can detect potential breaks faster than when we upgrade our submodule.

This build flavor isn't needed on every commit or pull request, so it's
only enabled for Travis's cron builds.
2018-03-23 14:09:57 -07:00
Christopher Warrington a4e6ca99e4 [travis] Refresh Travis CI image
This uses an image built on 2018-03-22.
2018-03-22 14:48:26 -07:00
Christopher Warrington 7e1f4ad2f5 [travis] Consume image built with headless JDK
This image is a little bit smaller, so should download marginally
faster. It will also help assure we don't take dependencies of libraries
that need an X server.
2018-03-22 13:23:33 -07:00
Christopher Warrington 3221200462 [c++ c#] Remove Bond Comm 2018-03-20 15:42:42 -07:00
Christopher Warrington 19988168cd [travis] Add garbage CI image clean up script
Every change (well, most every) to the master branch produces a new
Docker image (for our Linux CI builds). However, we don't use each new
image. Instead, occasionally someone updates .travis.yml to point to a
new image. Thus, there's a build up of Docker images in the repository
that aren't being used.

These images are garbage: garbage in the sense that they're not
reachable from any of the .travis.yml roots.

This commit adds a script that can be used to find and remove these
garbage images.

Given a set of filters to find root commits (e.g., we can specify all
tags and all commits in the past two weeks), the script finds all the
referenced Docker images in the various revisions to .travis.yml. It
then compares the referenced images to those present in the repository,
skips images that are too new to be collected, and--for now--prints the
`az` CLI command to remove that image.

The `az` CLI is implemented in Python, so Python is going to be
available wherever `az` is. Since this script was a bit too complicated
for a shell script, Python 3 was chosen as its implementation language.

This script is intended to be run inside a VSTS build using the Azure
CLI task [1]. However, it will work anywhere that `az login` has been
run and given credentials with read/write access to the
bondciimages.azurecr.io repository.

[1]: https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/AzureCLI/Readme.md
2018-02-27 16:01:51 -08:00
Christopher Warrington e96a8deb44 [travis] Add Boost 1.66 flavors
* Switch G++ tests to use Boost 1.66
* Add Clang++ test for Boost 1.66
* Switch CI image to one built from commit 0637203975
2018-01-09 11:00:12 -08:00
Christopher Warrington 7b6dcedd7a
[travis] Automate building of Docker images
* Use `docker pull` to download a pre-built image from
  bondciimages.azurecr.io instead of `wget` then `docker load`.
    * This speeds up image downloading by about 25%.
* Update tools/ci-scripts/linux/image-builder/README.md to indicate that
  images are built automatically in a Microsoft VSTS build queue.
* Delete helper build_image.zsh and upload_image.zsh scripts.
2017-12-07 17:37:49 -08:00
Eduardo Salinas 2e519cf4c5 [travis] Restore ownership before caching 2017-11-01 19:00:11 -07:00
Eduardo Salinas 12db062749 [travis] Increase cache upload time-out 2017-10-31 17:22:28 -07:00
Ted Stein d157d7598c Merge branch 'jvm_docker' into master 2017-10-31 13:32:27 -07:00
Ted Stein f746ec47ab Merge remote-tracking branch 'ara/docker_use_src_build_script' into jvm_docker 2017-10-30 15:35:25 -07:00
Ara Ayvazyan 0d77c2f38b [travis c++] Compile with Boost 1.65.1 and GCC
Switch to building some configurations with GCC. This is part of a larger
set of changes that will build some representative configurations for each
PR and a fuller matrix out-of-band.

Issue https://github.com/Microsoft/bond/issues/666 has more details.
2017-10-30 13:09:24 -07:00
Ara Ayvazyan 0d6ebe7531 [build travis] Add boost 1.65.1 to Travis CI 2017-10-25 11:00:47 -07:00
Ara Ayvazyan fe1b1b2dc6 [travis] Use a Docker image for all Linux builds 2017-10-24 18:03:19 -07:00
Ted Stein 7082407fd1 [java] Add CMake integration for Java 2017-10-23 18:44:53 -07:00
Ara Ayvazyan af7ccc3e02 [build] Use a docker image for building c++ 2017-10-23 13:59:55 -07:00
张帅 85995fe637 [c# travis] Replace deprecated xbuild with msbuild
Switch Travis to use MSBuild instead of XBuild because it's deprecated.
2017-10-20 14:06:51 -07:00
Ted Stein 6821db9fee [c++] Add boost 1.65.0 to Travis CI 2017-08-31 17:34:06 -07:00
Ted Stein b2d416b48c travis: Use envvars in Java script. 2017-08-30 16:50:02 -07:00
Ted Stein d005b19e0b travis: Remove hard-coded gradle plugin version. 2017-08-30 16:50:02 -07:00
Ted Stein 5d10fd6070 travis: CI all Java components and run compat tests. 2017-08-29 17:30:05 -07:00
Ted Stein e90294c562 [c++] Don't build Comm by default 2017-07-12 14:28:44 -07:00
Eduardo Salinas 52dbdb0ba8 [gbc] Migrate from cabal to stack
- cmake will use stack instead of cabal to
  build gbc
- update readme
- unpin ansi-terminal version
2017-06-26 20:53:28 -07:00
Christopher Warrington e24b85a34b [c++ grpc] Upgrade to gRPC v1.3.4 (#477)
ClientAsyncResponseReader had a breaking API change that we needed to
adjust to.

The gRPC zlib submodule is now conflicting with the system-wide zlib.
When using CMake inside of Travis, we prefer the system-wide zlib
package over the submodule.

There also appears to be a bug with ClientAsyncResponseReader's
placement new and placement delete operators, so we're consuming a
slightly patched version (see
https://github.com/chwarr/grpc/commit/8bd0fb92ec for the delta).
Upstream issue https://github.com/grpc/grpc/issues/11301 has been opened
about this problem.
2017-06-01 19:17:48 -07:00
Christopher Warrington 4b96096668 [c++ grpc] Merge initial gRPC++ support 2017-05-31 14:50:14 -07:00
Christopher Warrington 37b926eb23 [travis] Add Boost 1.64 flavor
Closes https://github.com/Microsoft/bond/pull/461
2017-05-26 17:12:29 -07:00
Chad Walters ceac8d748c Update Travis CI script to reflect master changes 2017-05-23 22:50:54 -07:00
Chad Walters 731d7dc137 [C++ gRPC] Update cmake flags in scripts/configs
Replace BOND_CORE_ONLY with BOND_ENABLE_COMM and BOND_ENABLE_GRPC in cmake
scripts and configs for AppVeyor and Travis. Both BOND_ENABLE_COMM and
BOND_ENABLE_GRPC are set to TRUE by default.
2017-05-19 13:15:03 -07:00
Ted Stein 6d11cb3e90 travis: Skip GBC tests in C++ builds. 2017-04-02 14:22:44 -07:00
Ted Stein 2aae97717c travis: Skip core tests in comm. 2017-04-02 14:22:44 -07:00
Ted Stein fdbb4a545a [travis] Rework matrix and use boost binaries
Fixes https://github.com/Microsoft/bond/issues/372
Closes https://github.com/Microsoft/bond/pull/378
2017-03-28 19:54:53 -07:00
Eduardo Salinas 3a7a49b415 [travis] Install Cabal library
- CI builds using GHC 7.6.3 will fail since appropriate Cabal library is missing
- This change makes sure to install Cabal
- Closes https://github.com/Microsoft/bond/issues/384
2017-03-28 15:10:12 -07:00
Ted Stein 54dacd8b26 Disable Travis CI for macOS.
Travis's macOS VMs are too weak to complete the C++ build in an hour, and it's
routinely taking one or two hours for us to get a build host. (Travis stats
suggest they only have slots for 128 simultaneous builds globally.)
2016-11-22 16:05:59 -08:00
Chad Walters 87b87e4961 Move Travis CI to Trusty and Boost 1.58 2016-11-16 16:08:17 -08:00
Ted Stein 637be8e085 Enable ccache in Linux and macOS Travis. 2016-11-14 14:08:48 -08:00
Adam Sapek d2200bdaf8 Work around the old wget version in Travis CI
Work around for a problem with wget verifying new certificates:
https://github.com/travis-ci/travis-ci/issues/5059

Travis CI Trusty image is not ready yet, at this moment having problem
with inconsistent Python versions.
2015-11-05 15:28:10 -08:00
Adam Sapek a4201850a6 Group CMake targets into folders
CMake uses the `FOLDER` property to group the generated Visual Studio
projects into solution folders.

Removed bond_ and documentation_ prefix from project names. The prefixes
were intended to group projects by name which is no longer necessary.
2015-10-28 22:30:41 -07:00
Adam Sapek 8bc9158a62 Enable Travis CI caching 2015-08-28 10:39:05 -07:00
Adam Sapek 93bd2eebd7 Switch Travis CI to container based infrastructure
- Switch project language to csharp in order to get built-in
  installation of Mono on Linux and OSX.
- Use addons to install Linux packages instead of calling `sudo apt-get`
- Since g++ and clang++ are the same compiler on OSX eliminate one from
  the build matrix.
- Add C++ Clang build and test to Linux matrix.
- Add python unit test and example to the Linux build matrix.
- Install cmake directly from cmake.org to avoid use of sudo.
2015-08-24 18:28:38 -07:00
Adam Sapek e0a8294ec2 Expand Travis CI build matrix
Add to the build matrix:
- GCC compiler
- C# tests on OSX
- Non-default versions of GHC on Linux
- Python tests

Separate C++ and C# tests as distinct builds (C# still depends on core
C++ build to get the gbc compiler).
2015-06-11 18:57:30 -07:00
Adam Sapek 556ce21603 Fix build races
1) When running the generated makefile with multiple jobs the `cabal
install` could start before `cabal sandbox` finished initializing the
sandbox leading to packages being installed globally and not available
during `cabal build` which expects dependencies in the sandbox.

2) Tarvis CI build sometimes would fail because nuget couldn't reach the
online repository. Added `travis_retry` to mitigate the problem.
2015-05-29 17:34:32 -07:00
Adam Sapek 7a14f45fcd Update CI configuration files
AppVeyor:
1. Work around memory limitations in Haskell build
2. Run subset of C# test matrix if the sandbox wasn't in cache

Travis CI
1. Change project type to C++
2. Install Mono manually in Linux
3. Use Clang as C++ compiler
4. cabal install happy
2015-04-02 20:11:42 -07:00
xplicit 8f2a8e57c8 Add building cs.sln and running unit tests in Travis.CI 2015-02-12 17:10:57 +06:00
Adam Sapek c502e7d1b8 Don't update Boost to avoid travis-ci timeout 2015-01-15 15:26:04 -08:00
Adam Sapek f10b4fba0f Configure travis-ci build
For now only configuring OS X build. Travis-CI runs Linux builds on
Ubuntu 12.04 for which pre-built Boost packages end at 1.48. Bond
currently requires 1.54.
2015-01-14 14:57:43 -08:00