55 lines
1.3 KiB
YAML
55 lines
1.3 KiB
YAML
|
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/**
|