3.3 KiB
3.3 KiB
Web/General Formatting Pipeline Template
This reusable Gitea Actions workflow provides formatting checks for web technologies and general file formats including JavaScript, TypeScript, JSON, YAML, Markdown, and more using Prettier and other tools.
Features
- Prettier formatting: Check formatting for JS, TS, JSON, YAML, Markdown, HTML, CSS, and more
- YAML validation: Optional yamllint checking for YAML files
- JSON validation: Optional JSON syntax validation
- Configurable: Skip specific checks, custom prettier config, and more
Usage
Basic Usage
Create a workflow file in your repository (e.g., .gitea/workflows/formatting.yml):
name: Formatting Check
on:
push:
branches: [main]
pull_request:
jobs:
formatting:
uses: gitea.gt-proj.com/brian/CI-templates/.gitea/workflows/web/formatting.yml@main
Advanced Usage with Custom Options
name: Formatting Check
on:
push:
branches: [main]
pull_request:
jobs:
formatting:
uses: gitea.gt-proj.com/brian/CI-templates/.gitea/workflows/web/formatting.yml@main
with:
working-directory: "./frontend"
node-version: "18"
prettier-config: ".prettierrc.json"
check-yaml: true
check-json: true
Combined with Python Code Quality
For repositories that contain both Python and web technologies:
name: Code Quality
on:
push:
branches: [main]
pull_request:
jobs:
python-quality:
uses: gitea.gt-proj.com/brian/CI-templates/.gitea/workflows/python/code-quality.yml@main
with:
python-version: "3.12"
working-directory: "./backend"
web-formatting:
uses: gitea.gt-proj.com/brian/CI-templates/.gitea/workflows/web/formatting.yml@main
with:
working-directory: "./frontend"
check-yaml: true
Input Parameters
| Parameter | Description | Required | Default | Type |
|---|---|---|---|---|
working-directory |
Working directory for the project | No | "." |
string |
node-version |
Node.js version to use for prettier | No | "20" |
string |
skip-prettier |
Skip prettier formatting check | No | false |
boolean |
prettier-config |
Path to prettier config file | No | "" |
string |
check-yaml |
Check YAML files with yamllint | No | false |
boolean |
check-json |
Check JSON files for validity | No | false |
boolean |
Prettier Configuration
You can customize Prettier behavior by:
- Using a config file: Set the
prettier-configinput to point to your config file - Using default prettier discovery: Prettier will automatically find
.prettierrc,.prettierrc.json,.prettierrc.js, etc. - Using package.json: Add prettier config to your
package.json
Example .prettierrc.json:
{
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 100,
"tabWidth": 2
}
What Files Are Checked
- Prettier: JavaScript, TypeScript, JSON, YAML, Markdown, HTML, CSS, and more
- yamllint: All
.ymland.yamlfiles (when enabled) - JSON validation: All
.jsonfiles (when enabled)
Requirements
- Repository must be public or you must have access to the template repository
- For YAML checking: Repository should contain YAML files
- For JSON checking: Repository should contain JSON files