Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Prettier formatting for markdown and YAML files #53

Merged
merged 95 commits into from
Jan 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
373b9e9
Try prettier formatting
glenn-jocher Jan 14, 2024
3f3b00c
Update format.yml
glenn-jocher Jan 14, 2024
8cd5286
Update action.yml
glenn-jocher Jan 14, 2024
f3279f7
Update action.yml
glenn-jocher Jan 14, 2024
3958db6
Update action.yml
glenn-jocher Jan 14, 2024
97060a9
Update action.yml
glenn-jocher Jan 14, 2024
10f02ca
Update action.yml
glenn-jocher Jan 14, 2024
ffd5434
Update action.yml
glenn-jocher Jan 14, 2024
63f0c59
Update action.yml
glenn-jocher Jan 14, 2024
a5052e3
Update action.yml
glenn-jocher Jan 14, 2024
199e2aa
Update action.yml
glenn-jocher Jan 14, 2024
f00075f
Update action.yml
glenn-jocher Jan 14, 2024
609d149
Update action.yml
glenn-jocher Jan 14, 2024
dcf0994
Update action.yml
glenn-jocher Jan 14, 2024
8463a6b
Update action.yml
glenn-jocher Jan 14, 2024
e81c098
Update action.yml
glenn-jocher Jan 14, 2024
59211af
Update action.yml
glenn-jocher Jan 14, 2024
77f241b
Update action.yml
glenn-jocher Jan 14, 2024
e0346ca
Update action.yml
glenn-jocher Jan 14, 2024
623115a
Update action.yml
glenn-jocher Jan 14, 2024
0bfcf4d
Update action.yml
glenn-jocher Jan 14, 2024
c33184c
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
f41ffe1
Update action.yml
glenn-jocher Jan 14, 2024
1985ad7
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
ff43554
Update action.yml
glenn-jocher Jan 14, 2024
5e23dae
Update action.yml
glenn-jocher Jan 14, 2024
ac9cf48
Delete .prettierignore
glenn-jocher Jan 14, 2024
6c34726
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
c632d2f
Update action.yml
glenn-jocher Jan 14, 2024
681aa75
Update action.yml
glenn-jocher Jan 14, 2024
23dccc6
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
01072b7
Update action.yml
glenn-jocher Jan 14, 2024
338ec01
Update action.yml
glenn-jocher Jan 14, 2024
3bfd220
Update action.yml
glenn-jocher Jan 14, 2024
5e191a3
Update action.yml
glenn-jocher Jan 14, 2024
f7680ec
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
5af5bfa
Update action.yml
glenn-jocher Jan 14, 2024
8f46ce8
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
9e3260d
Create cfg.md
glenn-jocher Jan 14, 2024
31fc723
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
739cad9
Update format.yml
glenn-jocher Jan 14, 2024
6b00710
Update cfg.md
glenn-jocher Jan 14, 2024
5c2fc4f
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
b54fd0d
Update README.md
glenn-jocher Jan 14, 2024
2ca44e9
Update cfg.md
glenn-jocher Jan 14, 2024
1ee14fb
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
bec35da
Update README.md
glenn-jocher Jan 14, 2024
b113e26
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
67bf232
Update action.yml
glenn-jocher Jan 14, 2024
84c6a33
Update action.yml
glenn-jocher Jan 14, 2024
ccf327c
Update action.yml
glenn-jocher Jan 14, 2024
1af60c3
Update action.yml
glenn-jocher Jan 14, 2024
8768b08
Update action.yml
glenn-jocher Jan 14, 2024
540c1c1
Update action.yml
glenn-jocher Jan 14, 2024
0cefc66
Update action.yml
glenn-jocher Jan 14, 2024
3de92a8
Update action.yml
glenn-jocher Jan 14, 2024
9adb540
Update action.yml
glenn-jocher Jan 14, 2024
46f43ff
Delete docs/cfg.md
glenn-jocher Jan 14, 2024
03bb59c
Create pyproject.toml
glenn-jocher Jan 14, 2024
c2da706
Update format.yml
glenn-jocher Jan 14, 2024
e9e4473
Update action.yml
glenn-jocher Jan 14, 2024
5f4f5cd
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
0603ff2
Update action.yml
glenn-jocher Jan 14, 2024
9975fc1
Update action.yml
glenn-jocher Jan 14, 2024
db5c4de
Delete .tmp-prettierignore
glenn-jocher Jan 14, 2024
20589c8
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
55da015
Cleanup
glenn-jocher Jan 14, 2024
c7394a2
Cleanup
glenn-jocher Jan 14, 2024
d6cbebe
Update action.yml
glenn-jocher Jan 14, 2024
8aee561
Update action.yml
glenn-jocher Jan 14, 2024
a9df638
Update action.yml
glenn-jocher Jan 14, 2024
375017f
Update README.md
glenn-jocher Jan 14, 2024
ed22182
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
e2b4612
Update action.yml
glenn-jocher Jan 14, 2024
dc2abca
Update README.md
glenn-jocher Jan 14, 2024
8ee1e22
Update action.yml
glenn-jocher Jan 14, 2024
203a148
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
6f77dd4
Create cfg.md
glenn-jocher Jan 14, 2024
9f15613
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
9e12ddc
Create def.yml
glenn-jocher Jan 14, 2024
42986d7
Create ddd.yaml
glenn-jocher Jan 14, 2024
76dc1da
Auto-format by Ultralytics actions
UltralyticsAssistant Jan 14, 2024
afe4d08
Cleanup
glenn-jocher Jan 14, 2024
b799bd5
Cleanup
glenn-jocher Jan 14, 2024
ecfecce
Update action.yml
glenn-jocher Jan 14, 2024
fccca61
Update action.yml
glenn-jocher Jan 14, 2024
bd80bcc
Update action.yml
glenn-jocher Jan 18, 2024
11198f8
Update README.md
glenn-jocher Jan 18, 2024
71494d5
Auto-format by [Ultralytics Actions](https://github.com/ultralytics/a…
UltralyticsAssistant Jan 18, 2024
d0c4399
Update action.yml
glenn-jocher Jan 18, 2024
3d85b15
Update README.md
glenn-jocher Jan 18, 2024
88c2c33
Auto-format by https://ultralytics.com/actions
UltralyticsAssistant Jan 18, 2024
0d21fce
Update format.yml
glenn-jocher Jan 18, 2024
507ccc8
Test
glenn-jocher Jan 18, 2024
13cb11e
Update format.yml
glenn-jocher Jan 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ name: Ultralytics Actions

on:
push:
branches: [main]
branches: [main, master]
pull_request:
branches: [main]
branches: [main, master]

jobs:
format:
Expand All @@ -17,9 +17,8 @@ jobs:
- name: Run Ultralytics Formatting
uses: ultralytics/actions@main
with:
token: ${{ secrets.GITHUB_TOKEN }} # automatically generated
token: ${{ secrets.GITHUB_TOKEN }} # automatically generated
python: true
docstrings: true
markdown: true
prettier: true
spelling: false
links: true
49 changes: 26 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,30 +29,33 @@ Upon integration, Ultralytics Actions triggers on:
To use this action in your Ultralytics repository:

1. **Create a Workflow File:** In your repository, create a file under `.github/workflows/`, e.g., `format-code.yml`.

2. **Add the Action:** Use the Ultralytics Actions in your workflow file as follows:
```yaml
name: Ultralytics Actions

on:
push:
branches: [main]
pull_request_target:
branches: [main]

jobs:
format:
runs-on: ubuntu-latest
steps:
- name: Run Ultralytics Formatting
uses: ultralytics/actions@main
with:
token: ${{ secrets.GITHUB_TOKEN }} # automatically generated
python: true
docstrings: true
markdown: true
spelling: true
links: true
```

```yaml
name: Ultralytics Actions

on:
push:
branches: [main]
pull_request_target:
branches: [main]

jobs:
format:
runs-on: ubuntu-latest
steps:
- name: Run Ultralytics Formatting
uses: ultralytics/actions@main
with:
token: ${{ secrets.GITHUB_TOKEN }} # automatically generated
python: true
docstrings: true
markdown: true
spelling: true
links: true
```

3. **Customize:** Adjust the workflow settings as necessary for your project.

## πŸ’‘ Contribute
Expand Down
107 changes: 57 additions & 50 deletions action.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,36 @@
name: 'Ultralytics Actions'
author: 'Ultralytics'
description: 'Optimize code and docs with official Ultralytics Actions for syntax, spelling, and link checks.'
name: "Ultralytics Actions"
author: "Ultralytics"
description: "Optimize code and docs with official Ultralytics Actions for syntax, spelling, and link checks."
branding:
icon: 'code'
color: 'blue'
icon: "code"
color: "blue"
inputs:
token:
description: 'GitHub token'
description: "GitHub token"
required: true
python:
description: 'Run Python formatting'
description: "Run Python formatting"
required: false
default: 'false'
docstrings:
description: 'Run Docstrings formatting'
required: false
default: 'false'
default: "false"
markdown:
description: 'Run Markdown formatting'
description: "Run Markdown formatting (deprecated in favor of prettier)"
required: false
default: "false"
prettier:
description: "Run Prettier formatting for JavaScript, JSX, Angular, Vue, Flow, TypeScript, CSS, HTML, JSON, GraphQL, Markdown, YAML"
required: false
default: 'false'
default: "false"
spelling:
description: 'Run Spelling checks'
description: "Run Spelling checks"
required: false
default: 'false'
default: "false"
links:
description: 'Run Broken Links checks'
description: "Run Broken Links checks"
required: false
default: 'false'
default: "false"
runs:
using: 'composite'
using: "composite"
steps:

- name: Print Action Information
run: |
echo "github.event_name: ${{ github.event_name }}"
Expand All @@ -55,27 +54,26 @@ runs:
- name: Install Dependencies
# tomli required for codespell with pyproject.toml
run: |
pip install --no-cache -q ruff docformatter mdformat-gfm mdformat-frontmatter mdformat-mkdocs codespell tomli
pip install --no-cache -q \
ruff docformatter codespell tomli \
mdformat-gfm mdformat-frontmatter mdformat-mkdocs
shell: bash

# Python formatting ------------------------------------------------------------------------------------------------
- name: Run Ruff
- name: Run Python
if: inputs.python == 'true'
run: |
ruff format . --line-length 120
shell: bash
continue-on-error: true

# Docstrings formatting --------------------------------------------------------------------------------------------
- name: Run Docformatter
if: inputs.docstrings == 'true'
run: |
docformatter --wrap-summaries 120 \
--wrap-descriptions 120 \
--in-place \
--pre-summary-newline \
--close-quotes-on-newline \
-r .
ruff format \
--line-length 120 \
.
docformatter \
--wrap-summaries 120 \
--wrap-descriptions 120 \
--in-place \
--pre-summary-newline \
--close-quotes-on-newline \
--recursive \
.
shell: bash
continue-on-error: true

Expand All @@ -88,25 +86,36 @@ runs:
shell: bash
continue-on-error: true

# Prettier (JavaScript, JSX, Angular, Vue, Flow, TypeScript, CSS, HTML, JSON, GraphQL, Markdown, YAML) -------------
- name: Run Prettier
if: inputs.prettier == 'true' || inputs.markdown == 'true'
run: |
npm install --global prettier
npx prettier \
--write "**/*.{js,jsx,ts,tsx,css,less,scss,json,md,mdx,yml,yaml,html,vue,svelte}"
shell: bash
continue-on-error: true

# Spelling ---------------------------------------------------------------------------------------------------------
- name: Run Codespell
if: inputs.spelling == 'true'
run: |
codespell \
-w \
--ignore-words-list "crate,nd,ned,strack,dota,ane,segway,fo,gool,winn,commend,bloc,nam,afterall" \
--skip '*.pt,*.pth,*.torchscript,*.onnx,*.tflite,*.pb,*.bin,*.param,*.mlmodel,*.engine,*.npy,*.data*,*.csv,*pnnx*,*venv*,*translat*,__pycache__*,*.ico,*.jpg,*.png,*.mp4,*.mov,/runs,/.git,./docs/??/*.md,./docs/mkdocs_??.yml'
--skip "*.pt,*.pth,*.torchscript,*.onnx,*.tflite,*.pb,*.bin,*.param,*.mlmodel,*.engine,*.npy,*.data*,*.csv,*pnnx*,*venv*,*translat*,__pycache__*,*.ico,*.jpg,*.png,*.mp4,*.mov,/runs,/.git,./docs/??/*.md,./docs/mkdocs_??.yml"
shell: bash
continue-on-error: true

# Commit Changes ---------------------------------------------------------------------------------------------------
- name: Commit and Push Changes
run: |
git add -A
git add .
git reset HEAD -- .github/workflows/ # workflow changes are not permitted with default token
if ! git diff --staged --quiet; then
git config --global user.name "UltralyticsAssistant"
git config --global user.email "web@ultralytics.com"
git commit -m "Auto-format by Ultralytics actions"
git commit -m "Auto-format by https://ultralytics.com/actions"
git push
else
echo "No changes to commit"
Expand All @@ -119,22 +128,20 @@ runs:
if: inputs.links == 'true'
uses: lycheeverse/lychee-action@v1.9.0
with:
# Check all markdown and html files in repo (default)
# Ignores the following status codes to reduce false positives:
# - 403(OpenVINO, 'forbidden')
# - 429(Instagram, 'too many requests')
# - 500(Zenodo, 'cached')
# - 502(Zenodo, 'bad gateway')
# - 999(LinkedIn, 'unknown status code')
# Check all markdown and html files in repo. Ignores the following status codes to reduce false positives:
# - 403(OpenVINO, "forbidden")
# - 429(Instagram, "too many requests")
# - 500(Zenodo, "cached")
# - 502(Zenodo, "bad gateway")
# - 999(LinkedIn, "unknown status code")
args: |
--accept 403,429,500,502,999
--exclude-loopback
--exclude 'https?://(www\.)?(github\.com|linkedin\.com|twitter\.com|instagram\.com|kaggle\.com|fonts\.gstatic\.com|url\.com)'
--exclude "https?://(www\.)?(github\.com|linkedin\.com|twitter\.com|instagram\.com|kaggle\.com|fonts\.gstatic\.com|url\.com)"
--scheme https
'./**/*.md'
'./**/*.html'
"./**/*.md"
"./**/*.html"
token: ${{ inputs.token }}
output: ../lychee/results.md
fail: true
continue-on-error: false

Loading