name: Package mpremote

on:
  push:
  pull_request:
    paths:
      - '.github/workflows/*.yml'
      - 'tools/**'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v7
      with:
        # Setting this to zero means fetch all history and tags,
        # which hatch-vcs can use to discover the version tag.
        fetch-depth: 0
    - uses: actions/setup-python@v7
    - name: Install build tools
      run: pip install build
    - name: Build mpremote wheel
      run: |
        if ! git rev-parse --verify -q v1.23.0 >/dev/null; then
          echo "::error::mpremote wheel build requires recent MicroPython version tags in the forked repo."
          echo ""
          echo "To fix, push tags from upstream:"
          echo "  git remote add upstream https://github.com/micropython/micropython.git"
          echo "  git fetch upstream --tags"
          echo "  git push origin --tags"
          exit 1
        fi
        cd tools/mpremote && python -m build --wheel
    - name: Archive mpremote wheel
      uses: actions/upload-artifact@v7
      with:
        name: mpremote
        path: |
          tools/mpremote/dist/mpremote*.whl
