name: Build .deb

on: workflow_call

env:
  SCCACHE_GHA_ENABLED: "true"
  RUSTC_WRAPPER: "sccache"

jobs:
  Build-Deb:
    runs-on: aarch64
    steps:
      - name: Check out repository code
        uses: actions/checkout@v3
        with:
          submodules: "recursive"
      - name: Update toolchain
        run: "rustup default stable; rustup target add aarch64-unknown-linux-musl"
      - name: Build
        run: "cargo build --release --target=aarch64-unknown-linux-musl"
      - name: Build .deb
        run: "cargo deb --target=aarch64-unknown-linux-musl"
      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        with:
          name: release
          path: |
            ./target/aarch64-unknown-linux-musl/debian/*.deb
            ./target/aarch64-unknown-linux-musl/release/tesla-charge-controller