name: Python Dist

concurrency:
  group: dist-${{ github.ref }}
  cancel-in-progress: true

on:
  workflow_dispatch:
  workflow_call:
    inputs:
      ref:
        required: true
        type: string
  pull_request:
  push:
    tags:
      - "[0-9]+.[0-9]+.[0-9]+"
      - "[0-9]+.[0-9]+.[0-9]+.post[0-9]+"
      - "[0-9]+.[0-9]+.[0-9]+[a-b][0-9]+"
      - "[0-9]+.[0-9]+.[0-9]+rc[0-9]+"

jobs:
  build:
    name: "Build Dist"
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
      with:
        ref: ${{ inputs.ref }}
        persist-credentials: false
    - name: Set up Python
      uses: actions/setup-python@v5
      with:
        python-version: 3.x
    - name: Install dependencies
      run: pip install build
    - name: Create packages
      run: python -m build .
    - name: Store package artifacts
      uses: actions/upload-artifact@v4
      with:
        name: all-dist-${{ github.run_id }}
        path: "dist/*"
