Skip to content

Commit ae3415d

Browse files
committed
Refactor CI workflow and enhance release process; add changelog for versioning
1 parent 0c48ab3 commit ae3415d

File tree

3 files changed

+79
-71
lines changed

3 files changed

+79
-71
lines changed

.github/workflows/prismalog_ci.yml

Lines changed: 58 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -313,11 +313,6 @@ jobs:
313313
</table>
314314
</div>
315315
316-
<div class="card">
317-
<h2>Coverage Report</h2>
318-
<p><a href="../htmlcov/index.html">HTML Coverage Report</a></p>
319-
</div>
320-
321316
<p class="timestamp">Generated: $(date -u "+%Y-%m-%d %H:%M:%S UTC")</p>
322317
</body>
323318
</html>
@@ -614,60 +609,61 @@ jobs:
614609
publish_dir: ./site
615610
keep_files: true
616611

617-
# publish:
618-
# needs: build
619-
# runs-on: ubuntu-latest
620-
# if: startsWith(github.ref, 'refs/tags/v')
621-
# steps:
622-
# - uses: actions/checkout@v3
623-
624-
# - name: Set up Python
625-
# uses: actions/setup-python@v4
626-
# with:
627-
# python-version: '3.10'
628-
629-
# - name: Install dependencies
630-
# run: |
631-
# python -m pip install --upgrade pip
632-
# pip install build twine
633-
634-
# - name: Build package
635-
# run: python -m build
636-
637-
# - name: Publish to PyPI
638-
# env:
639-
# TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
640-
# TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
641-
# run: twine upload dist/*
642-
643-
# create-release:
644-
# needs: publish
645-
# runs-on: ubuntu-latest
646-
# if: startsWith(github.ref, 'refs/tags/v')
647-
# steps:
648-
# - uses: actions/checkout@v4
649-
# with:
650-
# fetch-depth: 0
651-
652-
# - name: Generate release notes
653-
# id: release_notes
654-
# run: |
655-
# VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
656-
# echo "Generating release notes for $VERSION"
657-
658-
# # Extract changelog entries for this version
659-
# NOTES=$(sed -n "/## \[$VERSION\]/,/## \[/p" CHANGELOG.md | sed '1d;$d')
660-
661-
# # Format for GitHub release
662-
# echo "notes<<EOF" >> $GITHUB_OUTPUT
663-
# echo "$NOTES" >> $GITHUB_OUTPUT
664-
# echo "EOF" >> $GITHUB_OUTPUT
665-
666-
# - name: Create GitHub Release
667-
# uses: softprops/action-gh-release@v1
668-
# with:
669-
# files: |
670-
# dist/*
671-
# body: ${{ steps.release_notes.outputs.notes }}
672-
# env:
673-
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
612+
publish:
613+
needs: build
614+
runs-on: ubuntu-latest
615+
if: startsWith(github.ref, 'refs/tags/v')
616+
environment: pypi-publish
617+
permissions:
618+
id-token: write
619+
contents: read
620+
steps:
621+
- uses: actions/checkout@v4
622+
623+
- name: Set up Python
624+
uses: actions/setup-python@v4
625+
with:
626+
python-version: '3.10'
627+
628+
- name: Install dependencies
629+
run: |
630+
python -m pip install --upgrade pip
631+
pip install build
632+
633+
- name: Build package
634+
run: python -m build
635+
636+
- name: Publish to PyPI
637+
uses: pypa/gh-action-pypi-publish@release/v1
638+
639+
create-release:
640+
needs: publish
641+
runs-on: ubuntu-latest
642+
if: startsWith(github.ref, 'refs/tags/v')
643+
steps:
644+
- uses: actions/checkout@v4
645+
with:
646+
fetch-depth: 0
647+
648+
- name: Generate release notes
649+
id: release_notes
650+
run: |
651+
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
652+
echo "Generating release notes for $VERSION"
653+
654+
# Extract changelog entries for this version
655+
NOTES=$(sed -n "/## \[$VERSION\]/,/## \[/p" CHANGELOG.md | sed '1d;$d')
656+
657+
# Format for GitHub release
658+
echo "notes<<EOF" >> $GITHUB_OUTPUT
659+
echo "$NOTES" >> $GITHUB_OUTPUT
660+
echo "EOF" >> $GITHUB_OUTPUT
661+
662+
- name: Create GitHub Release
663+
uses: softprops/action-gh-release@v1
664+
with:
665+
files: |
666+
dist/*
667+
body: ${{ steps.release_notes.outputs.notes }}
668+
env:
669+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.readthedocs.yaml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,11 @@ python:
1010
- method: pip
1111
path: .
1212
extra_requirements:
13-
- docs
13+
- doc
1414

1515
sphinx:
1616
configuration: docs/source/conf.py
1717

1818
# Optionally build docs in additional format
1919
formats:
2020
- pdf
21-
22-
# Install the package and its documentation dependencies
23-
python:
24-
install:
25-
- method: pip
26-
path: .
27-
extra_requirements:
28-
- doc

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Changelog
2+
3+
All notable changes to `prismalog` will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [v0.1.0] - 2025-04-20
9+
- Initial release
10+
11+
### Added
12+
- Initial release of `prismalog`
13+
- Core logging functionality with multi-process support
14+
- Configuration system with environment variable support
15+
- High-performance message queue implementation
16+
- Zero-dependency design for Python 3.8+
17+
- Comprehensive test suite with 90%+ code coverage
18+
- Full documentation and examples
19+
20+
[v0.1.0]: https://github.com/vertok/prismalog/releases/tag/v0.1.0

0 commit comments

Comments
 (0)