diff --git a/.github/workflows/textlint_lint.yml b/.github/workflows/textlint_lint.yml new file mode 100644 index 000000000..7dacaaa2b --- /dev/null +++ b/.github/workflows/textlint_lint.yml @@ -0,0 +1,47 @@ +name: Textlint Lint + +on: + push: + branches: + - main + paths: + - 'src/**/*.md' + - 'textlint/**/*.js' + - '.github/workflows/textlint_lint.yml' + + pull_request: + types: + - opened + - synchronize + - reopened + paths: + - 'src/**/*.md' + - 'textlint/**/*.js' + - '.github/workflows/textlint_lint.yml' + +jobs: + Lint: + runs-on: ubuntu-latest + + steps: + - name: Set up checkout + uses: actions/checkout@v4 + + - name: Set up node + uses: actions/setup-node@v4 + with: + node-version: 20.x + cache: yarn + + - name: Set up cache + uses: actions/cache@v4 + with: + path: ~/.yarn-cache + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + + - name: Install dependencies + run: yarn install --frozen-lockfile + # The `--frozen-lockfile` flag in Yarn ensures that dependencies are installed without modifying the `yarn.lock` file. It is useful for maintaining consistency in CI/CD environments by preventing unexpected changes to the lock file and ensuring that the same versions of dependencies are installed. + + - name: Lint + run: yarn textlint-lint diff --git a/package.json b/package.json index b22e8a24f..04f6387f4 100644 --- a/package.json +++ b/package.json @@ -116,7 +116,10 @@ }, "lint-staged": { "*.{js,ts,jsx,tsx,css}": "yarn prettier", - "src/**/*.md": "yarn fix-headings", + "src/**/*.md": [ + "yarn fix-headings", + "yarn textlint-lint" + ], "textlint/**/*.js": "yarn textlint-test", "textlint/data/rules/translateGlossary.js": "yarn textlint-docs", "textlint/generators/genTranslateGlossaryDocs.js": "yarn textlint-docs"