From a6653cfb9692c08c55d2b9f3525038930c81835d Mon Sep 17 00:00:00 2001 From: William Mantly Date: Thu, 16 Jul 2026 17:00:27 -0400 Subject: [PATCH] Add CI: shellcheck setup.sh, syntax-check bootstrap.js theta-env has no app code of its own to unit-test (it orchestrates the proxy/sso-manager-node submodules) -- this catches the one thing that can actually break silently: setup.sh and bootstrap.js. --- .github/workflows/lint.yml | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..d2e5373 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,41 @@ +name: Lint + +# theta-env has no app code of its own to unit-test (it orchestrates the +# proxy/sso-manager-node submodules) -- this checks the one thing that can +# actually break silently: setup.sh and bootstrap.js. +on: + pull_request: + branches: + - master + push: + branches-ignore: + - master + +jobs: + shellcheck: + name: Shellcheck setup.sh + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Syntax check + run: bash -n setup.sh + + - name: Shellcheck + run: shellcheck -S warning setup.sh + + bootstrap-syntax: + name: Syntax check bootstrap.js + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22.x + + - name: Syntax check + run: node --check bootstrap/bootstrap.js