-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add python, markdown and github action linter (#5)
to ensure the code maintenance. Thanks to docling project- took some good bits around python linting from the project. These checks are also added in the markdown, so that user can run these checks locally to recreate the errors. Signed-off-by: Anil Vishnoi <[email protected]>
- Loading branch information
1 parent
fc11dc2
commit ac3518c
Showing
9 changed files
with
121 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: 'Set up Poetry and install' | ||
description: 'Set up a specific version of Poetry and install dependencies using caching.' | ||
inputs: | ||
python-version: | ||
description: "Version range or exact version of Python or PyPy to use, using SemVer's version range syntax." | ||
default: '3.11' | ||
runs: | ||
using: 'composite' | ||
steps: | ||
- name: Install poetry | ||
run: pipx install poetry==1.8.3 | ||
shell: bash | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ inputs.python-version }} | ||
cache: 'poetry' | ||
- name: Install dependencies | ||
run: poetry install --all-extras | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: Lint GitHub Actions workflows | ||
on: | ||
push: | ||
branches: ["main"] | ||
paths: | ||
- '.github/**' | ||
pull_request: | ||
branches: ["main"] | ||
paths: | ||
- '.github/**' | ||
|
||
jobs: | ||
actionlint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Download actionlint | ||
id: get_actionlint | ||
run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) | ||
shell: bash | ||
- name: Check workflow files | ||
run: PATH=".:$PATH" make action-lint | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Run linter checks | ||
on: | ||
push: | ||
branches: ["main"] | ||
pull_request: | ||
branches: ["main"] | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
py-lint: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: ['3.11'] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: ./.github/actions/setup-poetry | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Run styling check | ||
run: poetry run pre-commit run --all-files | ||
|
||
markdown-lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: markdownlint-cli2-action | ||
uses: DavidAnson/markdownlint-cli2-action@v16 | ||
with: | ||
globs: "**/*.md" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -441,3 +441,4 @@ pip-selfcheck.json | |
|
||
# Makefile | ||
.action-lint | ||
.markdown-lint |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
config: | ||
line-length: false | ||
no-emphasis-as-header: false | ||
first-line-heading: false | ||
globs: | ||
- "**/*.md" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
## Contributing In General | ||
|
||
Our project welcomes external contributions. If you have an itch, please feel | ||
free to scratch it. | ||
|
||
|
@@ -34,14 +35,13 @@ maintainers of each component affected. | |
|
||
For a list of the maintainers, see the [MAINTAINERS.md](MAINTAINERS.md) page. | ||
|
||
|
||
## Legal | ||
|
||
Each source file must include a license header for the MIT | ||
Software. Using the SPDX format is the simplest approach. | ||
e.g. | ||
|
||
``` | ||
```text | ||
/* | ||
Copyright IBM Inc. All rights reserved. | ||
|
@@ -60,54 +60,54 @@ must include a sign-off statement in the commit message. | |
Here is an example Signed-off-by line, which indicates that the | ||
submitter accepts the DCO: | ||
|
||
``` | ||
```text | ||
Signed-off-by: John Doe <[email protected]> | ||
``` | ||
|
||
You can include this automatically when you commit a change to your | ||
local git repository using the following command: | ||
|
||
``` | ||
```text | ||
git commit -s | ||
``` | ||
|
||
|
||
## Communication | ||
|
||
Please feel free to connect with us using the [discussion section](https://github.com/DS4SD/docling-serve/discussions). | ||
|
||
|
||
|
||
## Developing | ||
|
||
### Usage of Poetry | ||
|
||
We use Poetry to manage dependencies. | ||
|
||
|
||
#### Install | ||
|
||
To install, see the documentation here: https://python-poetry.org/docs/master/#installing-with-the-official-installer | ||
To install, see the documentation here: <https://python-poetry.org/docs/master/#installing-with-the-official-installer> | ||
|
||
1. Install the Poetry globally in your machine | ||
|
||
```bash | ||
curl -sSL https://install.python-poetry.org | python3 - | ||
``` | ||
|
||
The installation script will print the installation bin folder `POETRY_BIN` which you need in the next steps. | ||
|
||
2. Make sure Poetry is in your `$PATH` | ||
- for `zsh` | ||
|
||
```sh | ||
echo 'export PATH="POETRY_BIN:$PATH"' >> ~/.zshrc | ||
``` | ||
|
||
- for `bash` | ||
|
||
```sh | ||
echo 'export PATH="POETRY_BIN:$PATH"' >> ~/.bashrc | ||
``` | ||
|
||
3. The official guidelines linked above include useful details on the configuration of autocomplete for most shell environments, e.g. Bash and Zsh. | ||
|
||
|
||
#### Create a Virtual Environment and Install Dependencies | ||
|
||
To activate the Virtual Environment, run: | ||
|
@@ -122,7 +122,7 @@ To spawn a shell with the Virtual Environment activated. If the Virtual Environm | |
poetry install | ||
``` | ||
**(Advanced) Use a Specific Python Version** | ||
#### (Advanced) Use a Specific Python Version | ||
If for whatever reason you need to work in a specific (older) version of Python, run: | ||
|
@@ -132,7 +132,6 @@ poetry env use $(which python3.10) | |
This creates a Virtual Environment with Python 3.10. For other versions, replace `$(which python3.10)` by the path to the interpreter (e.g., `/usr/bin/python3.8`) or use `$(which pythonX.Y)`. | ||
#### Add a new dependency | ||
```bash | ||
|
@@ -146,7 +145,6 @@ We use the following tools to enforce code style: | |
- iSort, to sort imports | ||
- Black, to format code | ||
We run a series of checks on the code base on every commit, using `pre-commit`. To install the hooks, run: | ||
```bash | ||
|
@@ -155,10 +153,8 @@ pre-commit install | |
To run the checks on-demand, run: | ||
``` | ||
```shell | ||
pre-commit run --all-files | ||
``` | ||
Note: Checks like `Black` and `isort` will "fail" if they modify files. This is because `pre-commit` doesn't like to see files modified by their Hooks. In these cases, `git add` the modified files and `git commit` again. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters