
name: Python package
on:
  push:
    tags:
      - '*'
  release:
    types: [published]      
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Set up Python 3.9
      uses: actions/setup-python@v4
      with:
        python-version: 3.9
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install hatch
    - name: Test the project  
      run: hatch run test:cov
    - name: Build
      run: hatch build
    - name: Publish package
      run: hatch publish -r test --user ${{secrets.HATCH_INDEX_USER}} --auth ${{secrets.HATCH_TEST_INDEX_AUTH}}
      if: github.event_name != 'release'
    - name: Test the released packaged
      run: hatch run released:test
      if: github.event_name != 'release'
    - name: Publish to mainline
      run: hatch publish --user ${{secrets.HATCH_INDEX_USER}} --auth ${{secrets.HATCH_INDEX_AUTH}}
      if: github.event_name != 'release'
