name: build and release on: push: tags: - "v*.*.*" pull_request: branches: [main, master] jobs: release-github: runs-on: ubuntu-latest env: HATCH_INDEX_REPO: main HATCH_INDEX_USER: __token__ HATCH_INDEX_AUTH: ${{ secrets.PACKAGE_TOKEN }} steps: - name: checkout code uses: actions/checkout@v3 with: fetch-depth: 0 - uses: actions/setup-python@v5 with: python-version: "3.11" - name: install auto-changelog run: npm install -g auto-changelog - name: generate changelog run: >- auto-changelog -t keepachangelog --commit-limit 50 --backfill-limit 50 --ignore-commit-pattern '[Bb]ump version|[Uu]pdate changelog|[Mm]erge pull request' - name: get release notes id: release-notes uses: olofvndrhr/releasenote-gen@v1 - name: install hatch run: pip install -U hatch hatchling - name: build package run: hatch build --clean - name: create github release uses: ncipollo/release-action@v1 if: github.event_name != 'pull_request' with: name: ${{ github.ref_name }} body: ${{ steps.release-notes.outputs.releasenotes }} artifacts: |- dist/**