Skip to content

DevRel Static Checks Pipeline #1786

DevRel Static Checks Pipeline

DevRel Static Checks Pipeline #1786

# 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
#
# 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.
name: DevRel Static Checks Pipeline
on:
push:
pull_request:
branches:
- main
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
jobs:
license:
name: License Headers
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Check File License Headers
uses: ./tools/pipeline-linter
with:
pipeline-action: check-license.sh
structure:
name: Repo Structure
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Check README
uses: ./tools/pipeline-linter
with:
pipeline-action: check-readme.sh
- name: Check CODEOWNERS
uses: ./tools/pipeline-linter
with:
pipeline-action: check-codeowners.sh
linter:
name: Lint Codebase
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: "14"
- name: Install Linter dependencies
run: npm install
- name: Run Mega Linter
uses: nvuillam/mega-linter@v4
env:
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VALIDATE_JAVASCRIPT_STANDARD: false
VALIDATE_GHERKIN: false
VALIDATE_JSCPD: false
SPELL_MISSPELL_DISABLE_ERRORS: true
SPELL_CSPELL_DISABLE_ERRORS: true
COPYPASTE_JSCPD_DISABLE_ERRORS: true
LINTER_RULES_PATH: "."
GROOVY_NPM_GROOVY_LINT_FILTER_REGEX_EXCLUDE: "Jenkinsfile"
MARKDOWN_MARKDOWN_LINK_CHECK_DISABLE_ERRORS: true
commit-messages:
name: Conventional Commits Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v4
with:
configFile: .github/config/commitlint.config.js
failOnWarnings: false