fix: remove node_modules from git, add to .gitignore #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # QP Conduit CI/CD Pipeline | |
| # Lint, test, and validate the conduit toolkit on every push and PR. | |
| # | |
| # Latest versions as of April 2026. | |
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| env: | |
| SHELLCHECK_VERSION: "0.10.0" | |
| BATS_VERSION: "v1.11.1" | |
| jobs: | |
| # ========================================================================== | |
| # LINT (ShellCheck static analysis) | |
| # ========================================================================== | |
| lint: | |
| name: ShellCheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install ShellCheck | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y shellcheck | |
| - name: Lint all shell scripts | |
| run: | | |
| shellcheck -s bash -S warning \ | |
| conduit-*.sh \ | |
| lib/*.sh | |
| # ========================================================================== | |
| # TEST SMOKE (Quick validation without full service stack) | |
| # ========================================================================== | |
| test-smoke: | |
| name: Smoke Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Validate file existence | |
| run: bash tests/smoke/test_standalone.sh | |
| # ========================================================================== | |
| # TEST UNIT (bats-core unit tests) | |
| # ========================================================================== | |
| test-unit: | |
| name: Unit Tests (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04, ubuntu-24.04] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install bats-core | |
| run: | | |
| git clone --depth 1 --branch ${{ env.BATS_VERSION }} https://github.com/bats-core/bats-core.git /tmp/bats | |
| sudo /tmp/bats/install.sh /usr/local | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y jq | |
| - name: Run unit tests | |
| run: bats tests/unit/ | |
| # ========================================================================== | |
| # TEST INTEGRATION (bats-core integration tests) | |
| # ========================================================================== | |
| test-integration: | |
| name: Integration Tests (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04, ubuntu-24.04] | |
| needs: [test-unit] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install bats-core | |
| run: | | |
| git clone --depth 1 --branch ${{ env.BATS_VERSION }} https://github.com/bats-core/bats-core.git /tmp/bats | |
| sudo /tmp/bats/install.sh /usr/local | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y jq | |
| - name: Run integration tests | |
| run: bats tests/integration/ |