1 # TensorFlow Builds 2 3 This directory contains all the files and setup instructions to run all the 4 important builds and tests. You can run it yourself! 5 6 ## Run It Yourself 7 8 You have two options when running TensorFlow tests locally on your 9 machine. First, using docker, you can run our Continuous Integration 10 (CI) scripts on tensorflow devel images. The other option is to install 11 all TensorFlow dependencies on your machine and run the scripts 12 natively on your system. 13 14 ### Run TensorFlow CI Scripts using Docker 15 16 1. Install Docker following the [instructions on the docker website](https://docs.docker.com/engine/installation/). 17 18 2. Start a container with one of the devel images here: 19 https://hub.docker.com/r/tensorflow/tensorflow/tags/. 20 21 3. Based on your choice of the image, pick one of the scripts under 22 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/ci_build/linux 23 and run them from the TensorFlow repository root. 24 25 ### Run TensorFlow CI Scripts Natively on your Machine 26 27 1. Follow the instructions at https://www.tensorflow.org/install/source, 28 but stop when you get to the section "Configure the installation". You do not 29 need to configure the installation to run the CI scripts. 30 31 2. Pick the appropriate OS and python version you have installed, 32 and run the script under tensorflow/tools/ci_build/<OS>. 33 34 ## TensorFlow Continuous Integration 35 36 To verify that new changes dont break TensorFlow, we run builds and 37 tests on either [Jenkins](https://jenkins-ci.org/) or a CI system 38 internal to Google. 39 40 We can trigger builds and tests on updates to master or on each pull 41 request. Contact one of the repository maintainers to trigger builds 42 on your pull request. 43 44 ### View CI Results 45 46 The Pull Request will show if the change passed or failed the checks. 47 48 From the pull request, click **Show all checks** to see the list of builds 49 and tests. Click on **Details** to see the results from Jenkins or the internal 50 CI system. 51 52 Results from Jenkins are displayed in the Jenkins UI. For more information, 53 see the [Jenkins documentation](https://jenkins.io/doc/). 54 55 Results from the internal CI system are displayed in the Build Status UI. In 56 this UI, to see the logs for a failed build: 57 58 * Click on the **INVOCATION LOG** tab to see the invocation log. 59 60 * Click on the **ARTIFACTS** tab to see a list of all artifacts, including logs. 61 62 * Individual test logs may be available. To see these logs, from the **TARGETS** 63 tab, click on the failed target. Then, click on the **TARGET LOG** tab to see 64 its test log. 65 66 If youre looking at target that is sharded or a test that is flaky, then 67 the build tool divided the target into multiple shards or ran the test 68 multiple times. Each test log is specific to the shard, run, and attempt. 69 To see a specific log: 70 71 1. Click on the log icon that is on the right next to the shard, run, 72 and attempt number. 73 74 2. In the grid that appears on the right, click on the specific shard, 75 run, and attempt to view its log. You can also type the desired shard, 76 run, or attempt number in the field above its grid. 77