name: Reusable build

on:
  workflow_call:
    inputs:
      node-version:
        description: Node major version to build against
        required: false
        type: string
        default: "20"
      environment:
        required: true
        type: string
    outputs:
      artifact-name:
        description: Name of the uploaded build artifact
        value: ${{ jobs.build.outputs.artifact-name }}

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    environment: ${{ inputs.environment }}
    outputs:
      artifact-name: ${{ steps.pack.outputs.name }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ inputs.node-version }}
      - id: pack
        run: echo "name=build-${{ inputs.environment }}" >> "$GITHUB_OUTPUT"
