2022-02-05 08:32:04 -08:00
|
|
|
# Copyright 2022 Google LLC
|
2021-10-26 17:17:22 -07:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
#
|
|
|
|
# http://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.
|
|
|
|
|
2021-12-20 23:51:51 -08:00
|
|
|
name: "Linting"
|
|
|
|
on:
|
2021-10-26 17:03:38 -07:00
|
|
|
pull_request:
|
|
|
|
branches:
|
2022-01-19 05:17:20 -08:00
|
|
|
- fast-dev
|
2022-02-05 08:10:43 -08:00
|
|
|
- fast-dev-gke
|
2021-10-26 17:03:38 -07:00
|
|
|
- master
|
2021-10-26 19:13:05 -07:00
|
|
|
tags:
|
|
|
|
- ci
|
|
|
|
- lint
|
2021-10-26 23:28:10 -07:00
|
|
|
|
2021-10-26 17:03:38 -07:00
|
|
|
jobs:
|
|
|
|
linting:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Set up Python
|
|
|
|
uses: actions/setup-python@v2
|
|
|
|
with:
|
2021-12-20 23:51:51 -08:00
|
|
|
python-version: "3.9"
|
2021-10-26 17:03:38 -07:00
|
|
|
|
2021-10-26 23:24:45 -07:00
|
|
|
- name: Set up Terraform
|
|
|
|
uses: hashicorp/setup-terraform@v1
|
|
|
|
with:
|
2022-04-17 04:55:40 -07:00
|
|
|
terraform_version: 1.1.8
|
2021-10-26 23:24:45 -07:00
|
|
|
|
2021-10-26 17:03:38 -07:00
|
|
|
- name: Install dependencies
|
2021-10-27 07:08:29 -07:00
|
|
|
run: |
|
2022-02-14 03:13:42 -08:00
|
|
|
pip install -r tools/requirements.txt
|
2021-10-26 17:03:38 -07:00
|
|
|
|
2021-10-26 19:23:33 -07:00
|
|
|
- name: Boilerplate
|
2021-10-26 17:03:38 -07:00
|
|
|
id: boilerplate
|
|
|
|
run: |
|
2021-10-26 17:13:26 -07:00
|
|
|
python3 tools/check_boilerplate.py $GITHUB_WORKSPACE
|
2021-10-26 17:03:38 -07:00
|
|
|
|
|
|
|
- name: Terraform Linting Check
|
|
|
|
id: fmt
|
|
|
|
run: |
|
2021-10-27 07:08:29 -07:00
|
|
|
terraform fmt -recursive -check -diff $GITHUB_WORKSPACE
|
2021-10-26 17:03:38 -07:00
|
|
|
|
2022-01-19 05:17:20 -08:00
|
|
|
- name: Check documentation (fabric)
|
|
|
|
id: documentation-fabric
|
2021-10-26 17:03:38 -07:00
|
|
|
run: |
|
2022-01-22 02:34:18 -08:00
|
|
|
python3 tools/check_documentation.py examples modules fast
|
2022-01-19 05:17:20 -08:00
|
|
|
|
2022-02-04 04:28:07 -08:00
|
|
|
- name: Check documentation links (fabric)
|
|
|
|
id: documentation-links-fabric
|
|
|
|
run: |
|
|
|
|
python3 tools/check_links.py .
|
2022-02-12 04:29:22 -08:00
|
|
|
|
|
|
|
- name: Check name length (fast)
|
|
|
|
id: name-length-fast
|
|
|
|
run: |
|
|
|
|
python3 tools/check_names.py --prefix-length=10 fast/stages
|
2022-02-14 03:13:42 -08:00
|
|
|
|
|
|
|
- name: Check python formatting
|
|
|
|
id: yapf
|
|
|
|
run: |
|
|
|
|
yapf --style="{based_on_style: google, indent_width: 2, SPLIT_BEFORE_NAMED_ASSIGNS: false}" -p -d tools/*.py
|