name: 'Setup Bazel (Bazelisk)' description: 'Installs Node, Bazelisk, and configures Git for private SSH dependencies.' inputs: node_version: description: 'Node.js version' required: false default: '24' git_token: description: 'Gitea token for private dependency authentication' required: false default: '' cache: description: 'Used to specify a package manager for caching in actions/setup-node' required: false default: '' runs: using: 'composite' steps: - name: Setup Node uses: actions/setup-node@v4 with: node-version: ${{ inputs.node_version }} cache: ${{ inputs.cache }} - name: Set up Bazel (Bazelisk) shell: bash run: | if ! command -v bazel &> /dev/null && ! command -v bazelisk &> /dev/null; then npm install -g @bazel/bazelisk fi - name: Configure Git for private SSH dependencies if: ${{ inputs.git_token != '' }} shell: bash run: | git config --global url."https://${{ inputs.git_token }}@git.rodydavis.dev/".insteadOf "ssh://git@git.rodydavis.dev:2222/"