46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Lint
 | |
| 
 | |
| on:
 | |
|     # Trigger the workflow on push or pull request,
 | |
|     # but only for the main branch
 | |
|     push:
 | |
|         branches: [ "dev", "main" ]
 | |
|     # Replace pull_request with pull_request_target if you
 | |
|     # plan to use this action with forks, see the Limitations section
 | |
|     pull_request:
 | |
|         branches: [ "dev", "main" ]
 | |
|         types: ["synchronize", "ready_for_review", "opened", "reopened"]
 | |
| 
 | |
| 
 | |
| # Down scope as necessary via https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token
 | |
| permissions:
 | |
|     checks: write
 | |
|     contents: write
 | |
| 
 | |
| jobs:
 | |
|     run-linters:
 | |
|         name: Run linters
 | |
|         if: '! github.event.pull_request.draft'
 | |
|         runs-on: [self-hosted, Linux, X64]
 | |
| 
 | |
|         steps:
 | |
|             - name: Check out Git repository
 | |
|               uses: actions/checkout@v4
 | |
| 
 | |
|             - name: Set up Node.js
 | |
|               uses: actions/setup-node@v4
 | |
|               with:
 | |
|                   node-version: 20
 | |
| 
 | |
|             # ESLint and Prettier must be in `package.json`
 | |
|             - name: Install Node.js dependencies
 | |
|               run: npm ci
 | |
| 
 | |
|             - name: Run linters
 | |
|               uses: rkuykendall/lint-action@master
 | |
|               with:
 | |
|                   auto_fix: true
 | |
|                   eslint: true
 | |
|                   eslint_args: "--config eslint.config.ts --ignore-pattern '**/prettier.config.js'"
 | |
|                   prettier: true
 | |
|                   commit_message: 'style: fix linting issues met ${linter}'
 |