Merge branch 'main' into google-to-main
diff --git a/.github/workflows/bazel_to_cmake.yml b/.github/workflows/bazel_to_cmake.yml
deleted file mode 100644
index 0ca3d93..0000000
--- a/.github/workflows/bazel_to_cmake.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-name: Bazel to CMake
-
-on: [pull_request, push]
-
-jobs:
- bazel_to_cmake:
- name: Bazel to CMake Check
- runs-on: ubuntu-18.04
- steps:
- - name: Checking out repository
- uses: actions/checkout@v2
- - name: Running bazel_to_cmake
- run: |
- ./build_tools/bazel_to_cmake/bazel_to_cmake.py
- git diff --exit-code
diff --git a/.github/workflows/check_submodules.yml b/.github/workflows/check_submodules.yml
deleted file mode 100644
index 1ae89eb..0000000
--- a/.github/workflows/check_submodules.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2019 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Checks that the submodule state in SUBMODULE_VERSIONS matches `git submodule status`
-
-name: Check Submodules
-
-on: [pull_request, push]
-
-jobs:
- submodules:
- runs-on: ubuntu-18.04
- steps:
- - name: Checking out repository
- uses: actions/checkout@v2
- - name: Checking submodules
- run: ./scripts/git/submodule_versions.py check
diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml
deleted file mode 100644
index 4b9279a..0000000
--- a/.github/workflows/format.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2019 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-name: Format
-
-on: [pull_request]
-
-jobs:
- # Run clang-format and verify there are no errors. We don't want to bother
- # building until we've at least got clean code.
- format:
- name: Code Format Check
- runs-on: ubuntu-18.04
- env:
- BASE_REF: ${{ github.base_ref }}
- steps:
- - name: Installing dependencies
- run: |
- sudo add-apt-repository -y "deb http://mirror.enzu.com/ubuntu/ eoan main universe"
- sudo apt-get update -qq
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends clang-format-9
- wget https://raw.githubusercontent.com/llvm-mirror/clang/master/tools/clang-format/git-clang-format -O /tmp/git-clang-format
- chmod +x /tmp/git-clang-format
- - name: Checking out repository
- uses: actions/checkout@v2
- # We have to explicitly fetch the base branch as well
- - name: Fetching Base Branch
- run: git fetch --no-tags --prune --depth=1 origin "${BASE_REF?}"
- - name: Running clang-format on changed source files
- run: |
- /tmp/git-clang-format "origin/${BASE_REF?}" --binary=clang-format-9 --style=file
- git diff --exit-code
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 0000000..43c6a69
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,67 @@
+# Copyright 2019 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Lint
+
+on: [pull_request]
+
+jobs:
+ clang-format:
+ runs-on: ubuntu-18.04
+ env:
+ BASE_REF: ${{ github.base_ref }}
+ steps:
+ - name: Installing dependencies
+ run: |
+ sudo add-apt-repository -y "deb http://mirror.enzu.com/ubuntu/ eoan main universe"
+ sudo apt-get update -qq
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends clang-format-9
+ wget https://raw.githubusercontent.com/llvm-mirror/clang/master/tools/clang-format/git-clang-format -O /tmp/git-clang-format
+ chmod +x /tmp/git-clang-format
+ - name: Checking out repository
+ uses: actions/checkout@v2
+ # We have to explicitly fetch the base branch as well
+ - name: Fetching Base Branch
+ run: git fetch --no-tags --prune --depth=1 origin "${BASE_REF?}"
+ - name: Running clang-format on changed source files
+ run: |
+ /tmp/git-clang-format "origin/${BASE_REF?}" --binary=clang-format-9 --style=file
+ git diff --exit-code
+
+ bazel_to_cmake:
+ runs-on: ubuntu-18.04
+ steps:
+ - name: Checking out repository
+ uses: actions/checkout@v2
+ - name: Running bazel_to_cmake
+ run: ./build_tools/bazel_to_cmake/bazel_to_cmake.py
+ - name: Checking Diff
+ run: git diff --exit-code
+
+ submodules:
+ runs-on: ubuntu-18.04
+ steps:
+ - name: Checking out repository
+ uses: actions/checkout@v2
+ - name: Checking submodules
+ run: ./scripts/git/submodule_versions.py check
+
+ yamllint:
+ runs-on: ubuntu-18.04
+ steps:
+ - uses: actions/checkout@v2
+ - name: yaml-lint
+ uses: ibiqlik/action-yamllint@v1
+ with:
+ strict: true
diff --git a/.github/workflows/synchronize_submodules.yml b/.github/workflows/synchronize_submodules.yml
index f56af6b..cd0aed6 100644
--- a/.github/workflows/synchronize_submodules.yml
+++ b/.github/workflows/synchronize_submodules.yml
@@ -50,4 +50,3 @@
with:
github_token: ${{ secrets.GITHUB_WRITE_ACCESS_TOKEN }}
branch: ${{ github.ref }}
-
diff --git a/.yamllint.yml b/.yamllint.yml
new file mode 100644
index 0000000..a52bc13
--- /dev/null
+++ b/.yamllint.yml
@@ -0,0 +1,15 @@
+extends: default
+
+rules:
+ # These do not appear to be conventional in GitHub actions.
+ document-end:
+ present: false
+ document-start:
+ present: false
+ # GitHub actions use "on" for triggers.
+ truthy: disable
+ # We have lots of long strings and command lines.
+ line-length: disable
+
+ignore:
+ /third_party/*
diff --git a/integrations/tensorflow/e2e/README.md b/integrations/tensorflow/e2e/README.md
index 36e5e71..6f3272f 100644
--- a/integrations/tensorflow/e2e/README.md
+++ b/integrations/tensorflow/e2e/README.md
@@ -1,7 +1,7 @@
# TensorFlow e2e tests
-This is a collection of e2e tests that, in various fashion saves a TensorFlow
-model, compiles it with IREE and runs/evaluates it on all backends.
+This is a collection of e2e tests that save a TensorFlow model, compile it with
+IREE, run it on multiple backends and crosscheck the results.
## Pre-Requisites
@@ -87,7 +87,7 @@
## Debugging tests
If the compiler fails to compile the program, then it will create a crash
-reproducer (see documentation [here](https://mlir.llvm.org/docs/WritingAPass/)),
+reproducer (see [MLIR documentation](https://mlir.llvm.org/docs/WritingAPass/)),
which then allows reproducing the bug with an appropriate "opt" tool. Further
debugging iteration can happen in opt.
@@ -97,8 +97,7 @@
### Simple function tests
-See `simple_arithmetic_test.py` for some examples of writing a test case that
-runs on multiple backends.
+See `simple_arithmetic_test.py` for some basic examples.
### Limiting a test to only certain backends
@@ -126,11 +125,11 @@
1. The backends specified in `--override_backends`.
-1. The backends specified in the `IREE_OVERRIDE_BACKENDS` environment variable.
+2. The backends specified in the `IREE_OVERRIDE_BACKENDS` environment variable.
-1. The backends specified in the `tf_test_utils.compile_modules` decorator.
+3. The backends specified in the `tf_test_utils.compile_modules` decorator.
-1. All known backends.
+4. All known backends.
Additionally, the environment variable `IREE_AVAILABLE_BACKENDS` specifies which
backends should be considered available in a particular environment. Once the