← back to Cli Printing Press
fix(ci): fold skill docs into lint gate (#1226)
7010c102c0e52860cad09dd745065b16919aedb2 · 2026-05-12 13:51:59 -0700 · Trevin Chow
* fix(ci): fold skill docs into lint gate
* fix(ci): keep skill docs compatibility check
Files touched
M .github/workflows/lint.ymlM .mergify.yml
Diff
commit 7010c102c0e52860cad09dd745065b16919aedb2
Author: Trevin Chow <trevin@trevinchow.com>
Date: Tue May 12 13:51:59 2026 -0700
fix(ci): fold skill docs into lint gate (#1226)
* fix(ci): fold skill docs into lint gate
* fix(ci): keep skill docs compatibility check
---
.github/workflows/lint.yml | 61 ++++++++++++++++++----------------------------
.mergify.yml | 2 --
2 files changed, 24 insertions(+), 39 deletions(-)
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index f86ce08a..82842608 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -20,7 +20,7 @@ jobs:
with:
fetch-depth: 0
- - name: Check whether Go lint is needed
+ - name: Check whether lint validations are needed
id: changes
shell: bash
run: |
@@ -33,22 +33,42 @@ jobs:
printf ' %s\n' "${changed[@]}"
needs_lint=false
+ needs_skill_docs=false
for file in "${changed[@]}"; do
case "$file" in
*.go|go.mod|go.sum|.golangci.yml|.github/workflows/lint.yml)
needs_lint=true
- break
;;
esac
+
+ case "$file" in
+ skills/*|docs/SKILLS.md|.github/scripts/validate-skill-docs.sh|.github/workflows/lint.yml)
+ needs_skill_docs=true
+ ;;
+ esac
+
+ if [[ "$needs_lint" == "true" && "$needs_skill_docs" == "true" ]]; then
+ break
+ fi
done
echo "needs_lint=$needs_lint" >> "$GITHUB_OUTPUT"
+ echo "needs_skill_docs=$needs_skill_docs" >> "$GITHUB_OUTPUT"
- name: Skip Go lint
if: steps.changes.outputs.needs_lint != 'true'
run: |
echo "Skipping golangci-lint: no Go, module, lint config, or lint workflow files changed."
+ - name: Skip skill docs validation
+ if: steps.changes.outputs.needs_skill_docs != 'true'
+ run: |
+ echo "Skipping skill docs validation: no skill docs, skill guidance, or skill-doc workflow files changed."
+
+ - name: Validate skill docs
+ if: steps.changes.outputs.needs_skill_docs == 'true'
+ run: bash .github/scripts/validate-skill-docs.sh
+
# setup-go's bundled cache restores both GOMODCACHE and GOCACHE as one
# ~1GB tarball; on this repo that adds ~75s of extract time per job.
# The lint job sees little payoff from a warm GOCACHE (golangci-lint
@@ -343,39 +363,6 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- - uses: actions/checkout@v6
- with:
- fetch-depth: 0
-
- - name: Check whether skill docs validation is needed
- id: changes
- shell: bash
+ - name: Compatibility check
run: |
- set -euo pipefail
-
- git fetch --no-tags --prune origin "${{ github.base_ref }}"
- mapfile -t changed < <(git diff --name-only --diff-filter=ACMR "origin/${{ github.base_ref }}...HEAD")
-
- echo "Changed files:"
- printf ' %s\n' "${changed[@]}"
-
- needs_skill_docs=false
- for file in "${changed[@]}"; do
- case "$file" in
- skills/*|docs/SKILLS.md|.github/scripts/validate-skill-docs.sh|.github/workflows/lint.yml)
- needs_skill_docs=true
- break
- ;;
- esac
- done
-
- echo "needs_skill_docs=$needs_skill_docs" >> "$GITHUB_OUTPUT"
-
- - name: Skip skill docs validation
- if: steps.changes.outputs.needs_skill_docs != 'true'
- run: |
- echo "Skipping skill docs validation: no skill docs, skill guidance, or skill-doc workflow files changed."
-
- - name: Validate skill docs
- if: steps.changes.outputs.needs_skill_docs == 'true'
- run: bash .github/scripts/validate-skill-docs.sh
+ echo "Skill docs validation runs inside go-lint."
diff --git a/.mergify.yml b/.mergify.yml
index 878c30fb..25b4514c 100644
--- a/.mergify.yml
+++ b/.mergify.yml
@@ -8,7 +8,6 @@ queue_rules:
- check-success = go-lint
- check-success = golden
- check-success = pr-title
- - check-success = skill-docs
- check-success = test
merge_method: squash
update_method: rebase
@@ -39,5 +38,4 @@ merge_protections:
- check-success = go-lint
- check-success = golden
- check-success = pr-title
- - check-success = skill-docs
- check-success = test
← 09d72e68 fix(cli): prioritize bearer + apply root-security filter in
·
back to Cli Printing Press
·
fix(cli): guard nil Phases in LoadState to prevent lock prom 28e2fa1b →