name: Build disk-mapper
description: Build the Constellation disk-mapper binary

inputs:
  outputPath:
    description: "Output path of the binary"
    default: "./build/disk-mapper"
    required: true

# Linux runner only (Docker required)
runs:
  using: "composite"
  steps:
    - name: Build the disk-mapper
      shell: bash
      env:
        OUTPUT_PATH: ${{ inputs.outputPath }}
      run: |
        echo "::group::Build the disk-mapper"
        mkdir -p "$(dirname "${OUTPUT_PATH}")"
        label="//disk-mapper/cmd:disk-mapper_linux_amd64"
        bazel build "${label}"
        repository_root=$(git rev-parse --show-toplevel)
        out_rel=$(bazel cquery --output=files "${label}")
        out_loc="$(realpath "${repository_root}/${out_rel}")"
        cp "${out_loc}" "${OUTPUT_PATH}"
        chmod +w "${OUTPUT_PATH}"
        echo "::endgroup::"