# 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: Presubmits

on:
  pull_request:
    types: [opened, ready_for_review, synchronize]

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.
  # TODO(benvanik): add other checks (license, etc).
  lint:
    name: Code Style Check
    runs-on: ubuntu-18.04
    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 master as well
    - name: Fetching master
      run: git fetch --no-tags --prune --depth=1 origin master
    - name: Running clang-format on changed source files
      # TODO(benvanik): actually filter to changed files.
      run: |
        /tmp/git-clang-format origin/master --binary=clang-format-9 --style=file
        git diff --exit-code
