Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
bcdf8a8
explores how to improve the discoverability and bot-ability of y-*
solsson Mar 15, 2026
d18210f
implement phase 1 static analysis and phase 2 sandboxed help
Mar 18, 2026
f3eeca7
add Node.js and TypeScript shebang support
Mar 18, 2026
4c78f83
discover y-* scripts from PATH by default
Mar 18, 2026
05d0bd4
configurable sandbox timeout via Y_SCRIPT_LINT_TIMEOUT_S
Mar 18, 2026
cc5accc
tree output format with LOC and per-error lines
Mar 18, 2026
a26ae14
move WARN/FAIL labels to individual error lines
Mar 18, 2026
d5e048f
fix Ctrl+C and add timeout to shellcheck
Mar 18, 2026
5909e24
fix Ctrl+C by killing entire process group
Mar 18, 2026
a66ed46
fix timeout not killing hung children
Mar 18, 2026
a98a338
document YHELP variable and help subcommand pattern
Mar 18, 2026
4680327
add OS compatibility section to authoring guide
Mar 18, 2026
98b1698
authoring guide: date compat, empty Dependencies, remove bold
Mar 18, 2026
b98396a
remove phase 2 execution, add static YHELP parsing and --dependencies…
Mar 18, 2026
5efef0d
always write index, fix exit code with set -e
Mar 18, 2026
f0c8e08
remove sandbox/execution design from docs
Mar 18, 2026
74b0de8
skip help requirement for trivial binary wrappers
Mar 18, 2026
e52dd50
add y-help to list scripts from index, add help_line to index
Mar 18, 2026
1d6c546
single-script mode and detect help) case pattern
Mar 19, 2026
9c3f97a
print authoring guide hint on lint failures
Mar 20, 2026
7f5e4b2
move index to single ~/.cache/ystack-script-lint.json
Mar 20, 2026
9524222
rename parent to reporoot, add actual parent (bin dir)
Mar 20, 2026
940681c
add --fail=degrade mode for CI-safe lint gating
Mar 20, 2026
3b0d6ef
--fail=degrade with cached baselines for CI
Mar 20, 2026
d317b97
fix y-script-lint for macOS bash 3.2 compatibility
solsson Mar 20, 2026
ca38c48
fix shellcheck on macOS where timeout command is unavailable
solsson Mar 20, 2026
bdaaf6b
move lint cache to ~/.cache/ystack/ subdirectory
solsson Mar 20, 2026
162a8cf
removes dependence on timeout tool not available by default on osx
solsson Mar 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ on:
- main

jobs:
lint:
uses: ./.github/workflows/lint.yaml
docker:
needs: lint
runs-on: ubuntu-latest
permissions:
packages: write
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: lint

on:
push:
branches:
- main
pull_request:
workflow_call:

jobs:
script-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/cache/restore@v4
with:
key: script-lint-${{ github.ref_name }}-
restore-keys: |
script-lint-main-
path: ~/.cache/ystack
- name: Script lint
run: bin/y-script-lint --fail=degrade bin/
env:
Y_SCRIPT_LINT_BRANCH: ${{ github.ref_name }}
- uses: actions/cache/save@v4
with:
key: script-lint-${{ github.ref_name }}-${{ github.run_id }}
path: ~/.cache/ystack
Loading
Loading