Skip to content

Commit

Permalink
add initial precommit workflows (#150)
Browse files Browse the repository at this point in the history
* add initial precommit workflows

* make linter executable

* update PR template, add spellcheck

* fix linter errors

* fix more linter errors
  • Loading branch information
Abhishekbhagwat authored Dec 19, 2024
1 parent 1eb58e8 commit 59f5fe4
Show file tree
Hide file tree
Showing 28 changed files with 3,280 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .github/.OwlBot.lock.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2022 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.

docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest

Check warning on line 16 in .github/.OwlBot.lock.yaml

View workflow job for this annotation

GitHub Actions / Check Spelling

`devrel` is not a recognized word. (unrecognized-spelling)

Check warning on line 16 in .github/.OwlBot.lock.yaml

View workflow job for this annotation

GitHub Actions / Check Spelling

`owlbot` is not a recognized word. (unrecognized-spelling)
digest: sha256:d0e70b7cbce0f340c4755bafee5c1ef754c4e83927ecce8988f4f4c530572f61

Check notice on line 17 in .github/.OwlBot.lock.yaml

View workflow job for this annotation

GitHub Actions / Check Spelling

`Line` matches candidate pattern `(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$)` (candidate-pattern)

Check notice on line 17 in .github/.OwlBot.lock.yaml

View workflow job for this annotation

GitHub Actions / Check Spelling

`Line` matches candidate pattern `\b[0-9a-fA-F]{16,}\b` (candidate-pattern)

Check warning on line 17 in .github/.OwlBot.lock.yaml

View workflow job for this annotation

GitHub Actions / Check Spelling

`cbce` is not a recognized word. (unrecognized-spelling)

Check warning on line 17 in .github/.OwlBot.lock.yaml

View workflow job for this annotation

GitHub Actions / Check Spelling

`bafee` is not a recognized word. (unrecognized-spelling)
16 changes: 16 additions & 0 deletions .github/.OwlBot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright 2022 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.

docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest
21 changes: 21 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Pull-Request Template

Thank you for your contribution! Please provide a brief description of your changes and ensure you've completed the checklist below.

## Description

What does this PR do? Why is it necessary?

**Fixes #<Issue Number>** (if applicable)

## Checklist

- [ ] **Contribution Guidelines:** I have read the [Contribution Guidelines](../CONTRIBUTING).
- [ ] **CLA:** I have signed the [CLA](https://cla.developers.google.com).

Check warning on line 14 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`CLA` is not a recognized word. (unrecognized-spelling)

Check notice on line 14 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`Line` matches candidate pattern `(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]` (candidate-pattern)

Check warning on line 14 in .github/PULL_REQUEST_TEMPLATE.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`cla` is not a recognized word. (unrecognized-spelling)
- [ ] **Authorship:** I am listed as the author (if applicable).
- [ ] **Conventional Commits:** My PR title and commit messages follow the [Conventional Commits](https://www.conventialcommits.org) spec.
- [ ] **Code Format:** I have run `nox -s format` to format the code.
- [ ] **Spelling:** I have fixed any spelling errors, and added false positives to .github/actions/spelling/allow.txt if necessary.
- [ ] **Template:** I have followed the `aaie_notebook_template.ipynb` if submitting a new jupyter notbook.
- [ ] **Sync:** My Fork is synced with the upstream.
- [ ] **Documentations:** I have updated relevant documentations (if applicable) in the [docs folder](../docs).
2 changes: 2 additions & 0 deletions .github/linters/.flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[flake8]
extend-ignore = E501
15 changes: 15 additions & 0 deletions .github/linters/.gitleaks.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
title = "gitleaks config"

Check warning on line 1 in .github/linters/.gitleaks.toml

View workflow job for this annotation

GitHub Actions / Check Spelling

`gitleaks` is not a recognized word. (unrecognized-spelling)

Check warning on line 1 in .github/linters/.gitleaks.toml

View workflow job for this annotation

GitHub Actions / Check Spelling

`gitleaks` is not a recognized word. (check-file-path)

[extend]
# useDefault will extend the base configuration with the default gitleaks config:
# https://github.com/zricethezav/gitleaks/blob/master/config/gitleaks.toml

Check notice on line 5 in .github/linters/.gitleaks.toml

View workflow job for this annotation

GitHub Actions / Check Spelling

`Line` matches candidate pattern `(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]` (candidate-pattern)

Check notice on line 5 in .github/linters/.gitleaks.toml

View workflow job for this annotation

GitHub Actions / Check Spelling

`Line` matches candidate pattern `(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)` (candidate-pattern)
useDefault = true

[[rules]]
id = "aws-access-token"
description = "AWS Access Token"
regex = '''AKIA[0-9A-Z]{16}'''
[rules.allowlist]
paths = [
"gemini/use-cases/education/ai_quick_build_experience_backend.ipynb"
]
4 changes: 4 additions & 0 deletions .github/linters/.htmlhintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"id-class-value": false,
"attr-lowercase": false
}
2 changes: 2 additions & 0 deletions .github/linters/.markdown-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
no-inline-html: false
line-length: false
18 changes: 18 additions & 0 deletions .github/linters/.mypy.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[mypy]

disallow_untyped_calls = True
disallow_untyped_defs = True
disallow_incomplete_defs = True
no_implicit_optional = True
check_untyped_defs = True
disallow_subclassing_any = True
warn_incomplete_stub = True
warn_redundant_casts = True
warn_unused_ignores = True
warn_unreachable = True

follow_imports = skip
ignore_missing_imports = True

explicit_package_bases = True
disable_error_code = misc, no-untyped-call, no-any-return
2 changes: 2 additions & 0 deletions .github/linters/.python-lint
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[MESSAGES CONTROL]
disable=E0401,C0301,R0903,R1710,C0114,R0915,W1514,W1203,I1101
12 changes: 12 additions & 0 deletions .github/linters/.sqlfluff
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[sqlfluff]

dialect = bigquery

Check warning on line 3 in .github/linters/.sqlfluff

View workflow job for this annotation

GitHub Actions / Check Spelling

`bigquery` is not a recognized word. (unrecognized-spelling)
templater = placeholder

exclude_rules = CV06, RF05

[sqlfluff:templater:placeholder]
param_style = question_mark

[sqlfluff:indentation]
tab_space_size = 2
10 changes: 10 additions & 0 deletions .github/linters/.textlintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{

Check warning on line 1 in .github/linters/.textlintrc

View workflow job for this annotation

GitHub Actions / Check Spelling

`textlintrc` is not a recognized word. (check-file-path)
"rules": {
"terminology": {
"defaultTerms": true,
"exclude": [
"README"
]
}
}
}
18 changes: 18 additions & 0 deletions .github/spelling/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# check-spelling/check-spelling configuration

| File | Purpose | Format | Info |
| -------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| [dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary) |
| [allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow) |
| [reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject) |
| [excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes) |
| [only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only) |
| [patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns) |
| [candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-patterns) |
| [line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns) |
| [expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect) |
| [advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice) |
| [block-delimiters.list](block-delimiters.list) | Define block begin/end markers to ignore lines of text | line with _literal string_ for **start** followed by line with _literal string_ for **end** | [block ignore](https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Block-Ignore#status) |

Note: you can replace any of these files with a directory by the same name (minus the suffix)
and then include multiple files inside that directory (with that suffix) to merge multiple files together.
28 changes: 28 additions & 0 deletions .github/spelling/advice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
<details><summary>If the flagged items are :exploding_head: false positives</summary>

If items relate to a ...

- binary file (or some other file you wouldn't want to check at all).

Please add a file path to the `excludes.txt` file matching the containing file.

File paths are Perl 5 Regular Expressions - you can [test](https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.

`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude `README.md` (on whichever branch you're using).

- well-formed pattern.

If you can write a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it,
try adding it to the `patterns.txt` file.

Patterns are Perl 5 Regular Expressions - you can [test](https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.

Note that patterns can't match multiline strings.

</details>

<!-- adoption information-->

:steam_locomotive: If you're seeing this message and your PR is from a branch that doesn't have check-spelling,
please merge to your PR's base branch to get the version configured for your repository.
Loading

0 comments on commit 59f5fe4

Please sign in to comment.