name: JavaScript on: pull_request: workflow_dispatch: jobs: lint: name: Lint Javascript runs-on: ubuntu-latest steps: - name: Checkout files uses: actions/checkout@v4 with: sparse-checkout: | .github javascriptv3 - name: Get changed files id: changed-jsv3-files uses: tj-actions/changed-files@v41 with: files: "javascriptv3/**/*.{js,ts,jsx,tsx,json}" - name: Setup NodeJS if: steps.changed-files.outputs.any_changed == 'true' uses: actions/setup-node@v3 with: node-version: "20.x" - name: Install dependencies if: steps.changed-files.outputs.any_changed == 'true' run: npm i --prefix javascriptv3 - name: Validate package names if: steps.changed-files.outputs.any_changed == 'true' run: ./javascriptv3/github_scripts/validate_packages.sh - name: Lint added and modified files if: steps.changed-files.outputs.any_changed == 'true' run: | changed_files=(${{steps.changed-files.outputs.all_changed_files}}) ./javascriptv3/github_scripts/lint.sh "${changed_files[@]}"