Commit Graph

64 Commits

Author SHA1 Message Date
Eric Anderson b48b0ac1d4 all: Stop committing generated protobuf messages
This commit swaps to using a Sync task to place generated code in the
src/generated folder instead of the gradle-protobuf-plugin's
generatedFilesBaseDir. This provides much nicer results on failed
builds, and you will no longer see all the generated files deleted.

But at the same time the Sync task makes it easy to only copy the
grpc-generated code. This was not previously done because we were lazy
and using generatedFilesBaseDir, which made it difficult to treat the
services differently from the messages.
2019-03-05 16:28:55 -07:00
Eric Anderson 2a3e0616ff travis.yml: Stop testing jdk9
JDK 11 is LTS and superceded JDK 9 and 10. Nobody should really be using JDK 9
(just like the already untested JDK 10) so let's not waste the CPU testing it.
As long as we support JDK 8 and 11 it is unlikely we break JDK 9, though.
2019-02-27 11:20:19 -07:00
Jihun Cho 1c3432c3fb
all: migrate gradle publish from maven to use maven-publish plugin (#5289) 2019-01-31 17:38:43 -08:00
Thomas Broyer 2ffc46d6fa Update net.ltgt.errorprone to 0.6 and enable Error Prone on JDK 10+ 2018-12-13 10:17:06 -08:00
ZHANG Dapeng 94e7339748
all: remove copies of gradle wrapper 2018-12-11 16:23:28 -08:00
ZHANG Dapeng 3202fcc7d9
examples: move TLS example to a separate project 2018-12-06 12:03:25 -08:00
ZHANG Dapeng c31f4f1ddf
examples: move alts example to a separate directory 2018-12-03 14:59:07 -08:00
ZHANG Dapeng 0c38d1877a
buildscripts: Add CI for kotlin non-android
- add CI for kotlin non-android
- bump kotlin version to fix kotlin compiler issue on jdk11
- add javax.annotation dep to fix kotlin build on jdk 9 & 11

Fixes #4725
2018-11-20 13:20:45 -08:00
Eric Anderson 3dec12c8c9 travis: Remove sudo: false, as it is going away
This migrates us ahead of the forced migration, so if there are problems
the CI would still work while we work on them.

https://changelog.travis-ci.com/linux-builds-run-on-vms-by-default-77106
2018-11-05 13:58:14 -08:00
Eric Anderson 959323be97
Add build support for Java 11
It appears everything was already working on Java 11, except
build-specific and testing issues. Updating to Netty 4.1.30 (#4940)
probably fixed the last true Java 11 incompatibility.

Fixes #4933
2018-10-17 11:49:30 -07:00
Eric Anderson f7dec06fbc travis: Drop testing for Java 10
oracle10 is failing during setup with:
The command "bash install-jdk.sh -F 10 -L BCL --target $JAVA_HOME --workspace ${TRAVIS_HOME}/.cache/install-jdk" failed and exited with 8 during .

We should be adding support for Java 11 and dropping Java 9-10 anyway,
since Java 9-10 are unsupported.
2018-10-16 15:19:19 -07:00
Eric Anderson 3b578abf99 travis: Use default Maven settings
Throw away Travis-CI's custom Maven settings, because they are causing
massive CI failures when Maven slows to a crawl/hangs because of
failures contaicting repository.apache.org.

Travis-CI's settings includes repo.maven.apache.org, oss.sonatype
(releases and snapshots), and repository.apache.org (releases and
snapshots). Now we will just be using Maven's default, which may just
be repo.maven.apache.org.
2018-08-17 18:03:08 -07:00
Eric Anderson 71e9841c80 travis.yml: Fix protobuf compilation caching
Wildcard apparently doesn't work... silently. Move versions into their
own directory so we can use a hard-coded string in the travis
configuration.
2018-08-17 17:27:12 -07:00
Eric Anderson c032abaa3a
travis.yml: Actually trigger coveralls
Previously it was just erroring:
[[: command not found

This has been broken since #3638
2018-07-30 12:44:35 -07:00
zpencer 37e6f5f775
Fix jdk10 support in travis (#4653)
For jdk10: disable errorprone and fix javadoc warnings
2018-07-19 13:35:27 -07:00
zpencer 603d858186
buildscript: fix jdk-switcher bug always always setting jdk8 (#4652)
This fixes a bug that always hard codes jdk8.

Fixing this revealed an issue for jdk10, so let's remove jdk10
for now and revisit it in a separate PR.
2018-07-18 11:04:31 -07:00
Eric Anderson 1887b93afd buildscripts: Hard-code PROTOBUF_VERSION in make_dependencies.sh
We always want to use a consistent version of protobuf; avoid the need
for the caller (which may be a person running the script) to specify the
version.
2018-07-11 10:13:09 -07:00
sullis b88cf81a78 all: add 'oraclejdk10' to travis build matrix 2018-06-27 15:55:42 -07:00
zpencer 1d80febbc0
buildscripts: make unix.sh and make_dependencies.sh arch aware (#4384)
ARCH can be '32' or '64'. If it is not set then default to '64'.

make_dependencies.sh should do the symlinking
2018-04-27 15:59:16 -07:00
Eric Anderson 4e82e62eaa
Fix compilation in Java 9 2018-03-28 17:13:39 -07:00
Kun Zhang 86d64122e5
Upgrade to Protobuf 3.5.1 and Protoc 3.5.1-1. (#3921)
protoc-3.5.0-linux-x86_64 introduced GLIBC_2.14 dependency and broke
gRPC release process (https://github.com/google/protobuf/issues/4138).
3.5.1-1 is the proper re-build.
2018-01-05 16:40:20 -08:00
Carl Mastrangelo aee5fc4176
all: update to proto 3.5.0 2017-11-30 11:50:19 -08:00
Eric Anderson bbe81d0870 travis: Remove OS X build
With #3608 Kokoro is now able to handle OS X. I'm not removing the
OS X-specific parts of the .travis.yml in case we need to revert back to
using Travis.

Fixes #3466
2017-10-26 15:23:07 -07:00
ZHANG Dapeng 7c97aa95a1 thrift: Delete thrift
Thrift support is moved to https://github.com/grpc-ecosystem/grift
2017-09-28 09:31:32 -07:00
Carl Mastrangelo 24ff2748b7 all: update to proto 3.4.0 2017-08-25 11:25:36 -07:00
Carl Mastrangelo 0fe2c5cca6 all: bump to proto 3.3.1 2017-05-23 17:04:51 -07:00
Eric Anderson 99d6638e6e travis: Add thrift example; it was split out in 5ca4ea7 2017-03-01 16:57:17 -08:00
Eric Anderson 675080b208 all: Enable ErrorProne during compilation
ErrorProne provides static analysis for common issues, including
misused variables GuardedBy locks.

This increases build time by 60% for parallel builds and 30% for
non-parallel, so I've provided a way to disable the check. It is on by
default though and will be run in our CI environments.
2017-02-24 14:53:23 -08:00
Carl Mastrangelo b0323ac22c all: update to protobuf 3.2.0 2017-02-07 09:47:15 -08:00
Eric Anderson 0207354994 travis: Remove old comment for broken OS X caching
Commit 80f73a4a was in response to OS X receiving caching support.
Caches began being saved shortly after and they've been working since.
The official announcment was
https://blog.travis-ci.com/2016-05-03-caches-are-coming-to-everyone
2016-11-23 23:25:17 -08:00
Eric Anderson 335638e4fa travis: Use default OS X image (xcode7.3)
The xcode7 image is being retired on Nov 28th[1]. The default has been
7+ for a while now[2]. I assume 7+ all have JDK 8, so using the default
seems safe.

1. https://blog.travis-ci.com/2016-11-17-retiring-some-osx-images/
2. https://blog.travis-ci.com/2016-09-15-new-default-osx-image-coming/
2016-11-23 23:24:53 -08:00
Eric Anderson c38611a230 Bump protobuf to 3.1.0
Also removed warnings about protoc version matching runtime, since this
is no longer supposed to be a problem (starting with 3.0.0-beta-4) and
all our tests ran fine when using protoc 3.0.2 with protobuf runtime
3.1.0.

Fixes #2316
2016-11-01 14:52:56 -07:00
Eric Anderson b1d72e5c3e all: Bump protobuf to 3.0.2, to fix protoc in CI
protoc no longer builds in 3.0.0 because auto-download of the gmock zip
now fails. 3.0.2 has a fix to autogen:
bba446bbf2

All that was strictly necessary was to update .travis.yml and
buildscripts/, but it helps our sanity to keep the rest of the protobuf
versions in sync. Lite is left on its existing version, because it did
not see a bump of neither the java library nor the protoc plugin.
2016-09-29 10:25:31 -07:00
Eric Anderson 5e1e88357c Update protobuf to 3.0.0
Fixes #2086
2016-07-29 09:31:15 -07:00
Eric Anderson d7bf67e01f examples: Provide Maven and Gradle build files
The examples are no longer part of the normal build, although they are
built with Travis. The examples now include their own copy of the gradle
wrapper to ease usage from IDEs which can now properly detect the
correct version of gradle to use.

The build files were generated using "gradle init" and "mvn
archetype:generate" and then modified following our README.

Fixes #1414
2016-07-11 09:20:25 -07:00
Eric Anderson 3c03eb79ec travis,jenkins: Fail build if javac emits warnings 2016-07-10 12:01:07 -07:00
Eric Anderson dbef1af29a Bump protobuf dependency to 3.0.0-beta-3
This allows us to play with zero-copy and proto3 support for lite.
Unfortunately, it introduced some warnings, so deprecated warnings are
now ignored for benchmarks and interop-testing.
2016-06-28 08:58:13 -07:00
Eric Anderson 1d7a11ca24 travis: Avoid $HOME in cache, since it varies
$HOME can be different between different platforms/configurations, so
using /tmp means the path is consistent and be shared in the caches.
2016-05-03 16:09:47 -07:00
Eric Anderson 51548bc09d Remove m2 from Travis cache; it's unused
This is a remanent from when we were building Netty from master. Gradle
uses ~/.gradle/caches/modules-2/files-2.1/ for its Maven Central cache.
2016-04-29 15:10:37 -07:00
Eric Anderson 80f73a4a16 Allow cache to be shared between Linux and OS X
It doesn't appear that OS X is saving its cache yet, so this may not be
needed in the future, but for now we need OS X to avoid attempting to
use the Linux binaries.
2016-04-27 19:35:06 -07:00
Eric Anderson 56dca036db Limit memory during build
When running :grcp-interop-testing:test, Travis has been hanging on OS X
or flaking on Linux with:
> Process 'Gradle Test Executor 4' finished with non-zero exit value 137

Exit code 137 indicates SIGKILL (128 + 9) and is most likely caused by
the JVM being killed by the kernel's OOM killer.

The limit in .travis.yml is 2x what was necessary to do a parallel
build. The main test memory limit in build.gradle is well above 16m
which is necessary for the tests. Interop-testing is well above 64m
which is necessary for interop-testing, but we use 1.5g to help prevent
timeouts on Travis.

Protobuf and protobuf-nano each have one tests that decodes a proto >64M
in size, which prevents them from running with less than 512m and 768m,
respectively.
2016-02-21 16:59:44 -08:00
Eric Anderson 6715f1202c Add support for codecov.io
Codecov.io provides patch-based code coverage, so you can easily know
how many of the added lines are covered. It also has a more useful UI.

Unfortunately, the percentage it reports does not include partially-
covered lines--those with uncovered conditions. Thus the reported
percentage is about 6% lower than the coverage we've been looking at
previously. Because of this alone, I don't expect to remove coveralls
support soon.

Use the bash script instead of python module since pip isn't available
by default on Travis OS X.

jacocoTestReport uses mustRunAfter (contrary to the docs; see
https://issues.gradle.org/browse/GRADLE-2960) to make sure it runs after
all tests, only if testing is taking place. We would like
:grpc-all:jacocoTestReport to behave the same way. Without it, we would
need two separate invocations of gradle (adding ~1m to Travis run) in
order to prevent getting random results depending on what tests just so
happened to have been run.
2016-02-17 12:24:17 -08:00
nmittler 1dce8df077 Switching to netty-tcnative-boringssl-static 2016-02-16 13:11:45 -08:00
Kun Zhang e2ed2e8f03 Upgrade to protobuf-3.0.0-beta-2 and protobuf-nano-3.0.0-alpha-5
Update option name that disables protobuf tests.
2016-01-27 23:32:01 -08:00
Eric Anderson 036af15b66 Remove double-"brew update" as now unnecessary
The issue is closed and our latest runs on Travis are only needing to
run brew update once.
2015-11-25 14:21:06 -08:00
Eric Anderson 6229c2ca61 Brew update twice, to work around Brew issue 2015-11-02 09:09:10 -08:00
Eric Anderson cea8e8e4a7 Add tests for nano proto
Since some of the tests would need only minor modification to work for
normal proto, normal proto got a few more tests as well.
2015-10-28 10:00:41 -07:00
Eric Anderson 6dc5e8075b Support OS X on Travis 2015-10-23 09:27:07 -07:00
Eric Anderson a99e97791f Have OpenSSL v1.0.2 available to unit tests 2015-10-01 15:27:18 -07:00
Louis Ryan 540b4d3521 Revert "Draft of Android specific Channe builder"
This reverts commit d6dc790f05.
2015-09-09 10:18:45 -07:00