#!/bin/bash set -ex BASE_BRANCH=master # From https://docs.travis-ci.com/user/environment-variables if [[ $TRAVIS ]]; then git remote add upstream https://github.com/pytorch/pytorch git fetch upstream "$TRAVIS_BRANCH" BASE_BRANCH="upstream/$TRAVIS_BRANCH" fi if [[ ! -d build ]]; then git submodule update --init --recursive mkdir build pushd build # We really only need compile_commands.json, so no need to build! time cmake -DBUILD_TORCH=ON .. popd # Generate ATen files. time python aten/src/ATen/gen.py \ -s aten/src/ATen \ -d build/aten/src/ATen \ aten/src/ATen/Declarations.cwrap \ aten/src/THNN/generic/THNN.h \ aten/src/THCUNN/generic/THCUNN.h \ aten/src/ATen/nn.yaml \ aten/src/ATen/native/native_functions.yaml # Generate PyTorch files. time python tools/setup_helpers/generate_code.py \ --declarations-path build/aten/src/ATen/Declarations.yaml \ --nn-path aten/src fi # Run Clang-Tidy # The negative filters below are to exclude files that include onnx_pb.h or # caffe2_pb.h, otherwise we'd have to build protos as part of this CI job. time python tools/clang_tidy.py \ --verbose \ --paths torch/csrc/ \ --diff "$BASE_BRANCH" \ -g"-torch/csrc/distributed/Module.cpp" \ -g"-torch/csrc/jit/export.cpp" \ -g"-torch/csrc/jit/import.cpp" \ -g"-torch/csrc/jit/netdef_converter.cpp" \ -g"-torch/csrc/jit/register_quantized_ops.cpp" \ "$@"