Multiple small fixes for the global pipeline

After that the global pipeline works :). There is still one
remaining bug: on windows, cleaning up the directory with the
custom bazel sometime fails (see
http://ci.bazel.io/blue/rest/organizations/jenkins/pipelines/Global/bazel-tests/runs/31/nodes/28/log/?start=0).

  - configurations
    - bootstrap:
      - supress warnings on windows MSVC (bazelbuild/bazel#3070)
      - without-jdk extension was missing on macOS for the installer
      - JDK7 build on ubuntu 16.10 wasn't passing
        --define JAVA_VERSION=1.7
    - bazel-tests: fix typo
    - tensorflow: fix tests pattern
  - steps:
    - bazelPath
      - fix name in one of the call site
      - fix the path of Bazel on Windows when using a custom bazel
        (backslashes instead of forward slashes)
      - fix copyartifact step: in some weird way it was failing
        the first copy of Bazel without the ending slash.
    - bazel step
      - fix the name of the custom workspace
      - put the bazelPath command after the git clone to avoid
        removing bazel on first clone
      - Add -k, -build_tests_only to tests options
      - Set the BAZEL environment variable when calling configure
      - BazelUtils: skip test stage when there is no test
        returned by bazel query
      - BazelUtils: add '@' before action in calling bat when
        so it strips the command line (and it does not pollute
        stdout when reading it, notably when calling bazel query).
      - BazelUtils: remove --nomaster_bazelrc, which is incompatible
        with TensorFlow and other user
      - BazelUtils: on windows bat, use exit to actually return the
        exit code
    - maybeSauce: fix typo in the name of the sauceconnect pipeline
      step
    - recursiveGit: do a clean checkout
  - transfer-lib.sh
    - fix the name of the image of the jenkins master
  - bazel_job / jenkins_job:
    - use raw_import for the json configuration: the CDATA
      is already quoting.
    - use the gerrit repo for bazel{,-docker}-tests so they
      can actually fetch branches from gerrit.

Change-Id: I3e60743c9e42babf7d40131f6abf49404db134d4
15 files changed
tree: 2d9645857b0c93e9c393da4b0795511172e938ef
  1. base/
  2. docs/
  3. gce/
  4. gcr/
  5. gerrit-github-sync/
  6. jenkins/
  7. mac/
  8. templating/
  9. .gitignore
  10. AUTHORS
  11. CONTRIBUTING.md
  12. CONTRIBUTORS
  13. LICENSE.txt
  14. README.md
  15. WORKSPACE
README.md

Bazel continous integration setup

This workspace contains the setup for the continuous integration system of Bazel. This setup is based on docker images built by bazel.

Make sure you have a Bazel installed with a recent enough version of it. Also make sure gcloud and docker are correctly configured on your machine. Only docker version 1.10 or later is supported.

More documentation:

  • init.sh: initializes the whole CI platform. This may delete VMs and do other irreversible changes, so handle with care.
  • vm.sh: lets you control the machines (e.g. start/stop them, create/delete/reimage them), including the Jenkins controller and the executor nodes.
  • workflow: explains the CI workflow, and how you can test local changes with jenkins-staging
  • jobs: explains what jobs are running on the CI