mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-11-13 13:48:26 +00:00
feat(ci): added filename lint job (#1782)
This commit is contained in:
@@ -9,6 +9,26 @@ on:
|
||||
- fix-icon-preview
|
||||
|
||||
jobs:
|
||||
lint-filenames:
|
||||
if: github.repository == 'lucide-icons/lucide'
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v41
|
||||
with:
|
||||
files: icons/*
|
||||
- name: Generate annotations
|
||||
run: node ./scripts/lintFilenames.mjs
|
||||
env:
|
||||
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
|
||||
|
||||
lint-contributors:
|
||||
if: github.repository == 'lucide-icons/lucide'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
import { spawn } from 'child_process';
|
||||
|
||||
const regex = /(?<file>[^:]+):(?<line>\d+):(?<column>\d+)\s-\s+(?<message>.+)/;
|
||||
const fileList = (process.env.CHANGED_FILES || '').split(' ');
|
||||
|
||||
const cspell = spawn('npx', ['cspell', 'stdin'], { stdio: ['pipe', 'pipe', 'inherit'] });
|
||||
cspell.stdin.write(fileList.join('\n'));
|
||||
cspell.stdin.end();
|
||||
|
||||
cspell.stdout.on('data', (data) => {
|
||||
console.log(data.toString());
|
||||
data
|
||||
.toString()
|
||||
.split('\n')
|
||||
.forEach((line) => {
|
||||
const match = line.match(regex);
|
||||
if (match) {
|
||||
const { line, message } = match.groups;
|
||||
console.log(`::error file=${fileList[line - 1]},line=1,column=1::${message}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
cspell.on('exit', process.exit);
|
||||
Reference in New Issue
Block a user