Files
tree-sitter-shellspec/.github/actions/setup-dev/action.yml

44 lines
1.2 KiB
YAML

---
name: "Setup Development Environment"
description: "Complete setup for tree-sitter-shellspec development including Node.js and Tree-sitter"
inputs:
node-version:
description: "Node.js version to setup"
required: false
default: "24"
registry-url:
description: "NPM registry URL"
required: false
default: ""
skip-checkout:
description: "Skip repository checkout (if already done)"
required: false
default: "false"
runs:
using: "composite"
steps:
- name: Checkout Repository
if: inputs.skip-checkout != 'true'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node.js ${{ inputs.node-version }}
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v5.2.1
with:
node-version: ${{ inputs.node-version }}
cache: npm
registry-url: ${{ inputs.registry-url }}
- name: Install Dependencies
run: npm ci || { echo "❌ npm install failed" && npm install }
shell: bash
- name: Install Tree-sitter CLI
run: npm install -g tree-sitter-cli
shell: bash
- name: Generate Grammar
run: npm run generate
shell: bash