| 1 | name: Setup |
| 2 | description: Perform standard setup and install dependencies using pnpm. |
| 3 | inputs: |
| 4 | deno-version: |
| 5 | description: The version of Deno to install |
| 6 | required: false |
| 7 | bun-version: |
| 8 | description: The version of Bun to install |
| 9 | required: false |
| 10 | |
| 11 | runs: |
| 12 | using: composite |
| 13 | steps: |
| 14 | - name: Install pnpm |
| 15 | uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6 |
| 16 | env: |
| 17 | npm_config_audit: "false" |
| 18 | npm_config_fund: "false" |
| 19 | - name: Install node |
| 20 | uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6 |
| 21 | with: |
| 22 | node-version: 26.4.0 |
| 23 | package-manager-cache: ${{ env.NSC_CONTAINER_REGISTRY == '' }} |
| 24 | - name: Configure pnpm cache |
| 25 | if: ${{ env.NSC_CONTAINER_REGISTRY != '' }} |
| 26 | uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1 |
| 27 | with: |
| 28 | cache: pnpm |
| 29 | - name: Install deno |
| 30 | uses: denoland/setup-deno@22d081ff2d3a40755e97629de92e3bcbfa7cf2ed # v2 |
| 31 | if: ${{ inputs.deno-version != '' }} |
| 32 | with: |
| 33 | deno-version: ${{ inputs.deno-version }} |
| 34 | - name: Install bun |
| 35 | uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 |
| 36 | if: ${{ inputs.bun-version != '' }} |
| 37 | with: |
| 38 | bun-version: ${{ inputs.bun-version }} |
| 39 | - name: Install dependencies |
| 40 | shell: bash |
| 41 | run: pnpm install |