Skip to content

feat: Add mise integration and improve update documentation (v0.3.6) #12

feat: Add mise integration and improve update documentation (v0.3.6)

feat: Add mise integration and improve update documentation (v0.3.6) #12

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*' # Trigger on version tags like v0.1.3, v1.0.0, etc.
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Set up Python
run: uv python install 3.11
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run tests
run: |
uv run ruff check .
uv run ruff format --check .
uv run pytest tests/ -v
uv build
uv run twine check dist/*
- name: Extract version from tag
id: version
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
- name: Extract release notes
id: release_notes
run: |
# Extract release notes from CHANGELOG.md for this version
awk "/^## \[${{ steps.version.outputs.VERSION }}\]/, /^## \[/ { if (/^## \[/ && NR > 1) exit; print }" CHANGELOG.md | head -n -1 > release_notes.txt
echo "NOTES<<EOF" >> $GITHUB_OUTPUT
cat release_notes.txt >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ steps.version.outputs.VERSION }}
body: |
## Release ${{ steps.version.outputs.VERSION }}
${{ steps.release_notes.outputs.NOTES }}
## Installation
```bash
# Install with uvx (recommended)
uvx eyelet
# Or with pipx
pipx install eyelet==${{ steps.version.outputs.VERSION }}
```
## Quick Start
```bash
# Install universal logging for ALL hooks
uvx eyelet configure install-all
# Enable SQLite logging
uvx eyelet configure logging --format sqlite
# Check configuration health
uvx eyelet doctor
```
Full documentation: https://github.com/bdmorin/eyelet#readme
draft: false
prerelease: ${{ contains(steps.version.outputs.VERSION, 'alpha') || contains(steps.version.outputs.VERSION, 'beta') || contains(steps.version.outputs.VERSION, 'rc') }}
- name: Upload wheel to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/eyelet-${{ steps.version.outputs.VERSION }}-py3-none-any.whl
asset_name: eyelet-${{ steps.version.outputs.VERSION }}-py3-none-any.whl
asset_content_type: application/zip
- name: Upload source distribution to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/eyelet-${{ steps.version.outputs.VERSION }}.tar.gz
asset_name: eyelet-${{ steps.version.outputs.VERSION }}.tar.gz
asset_content_type: application/gzip