Junegunn Choi created HBASE-30455:
-------------------------------------
Summary: Run website lint in precommit refguide check
Key: HBASE-30455
URL: https://issues.apache.org/jira/browse/HBASE-30455
Project: HBase
Issue Type: Improvement
Components: build, website
Reporter: Junegunn Choi
Assignee: Junegunn Choi
h2. Problem
Precommit does not run {{npm run lint}} (ESLint and {{prettier --check}}) for
{{hbase-website}}. Formatting errors pass the PR checks and only fail the
post-merge {{HBase-Generate-Website}} job, which then stops publishing the
website until someone pushes a fix.
Since July 2026, four commits merged unformatted files and needed three
follow-up fixes:
- HBASE-30167: fixed by HBASE-30289
- HBASE-30270 and HBASE-30220: fixed by the HBASE-30270 addendum
- HBASE-30416: website builds #159 and #160 failed, fixed by an addendum
The precommit {{refguide}} check builds the site with {{-DskipTests}}. In
{{hbase-website/pom.xml}}, {{skipTests}} activates the {{skip-tests}} profile,
which selects the {{ci-skip-tests}} npm script instead of {{ci}}.
{{ci-skip-tests}} does not include {{lint}}. The website job runs the full
{{ci}} script, so it is the first place lint runs.
h2. Fix
Add {{npm run lint}} to {{ci-skip-tests}}, after {{fumadocs-init}}, the same
position as in {{ci}}. Lint is not a test, so {{-DskipTests}} should not skip
it. It takes about 5 seconds locally.
No change is needed in {{hbase-personality.sh}}: a lint failure makes Maven
print {{[ERROR]}}, and the {{refguide}} check already votes -1 on that.
Also update {{hbase-website/README.md}}, which describes {{ci-skip-tests}} as
running without lint.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)