Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
6b0b2c6
feat(parsing): support bulk telegram exports
xelthorV May 11, 2026
671d44b
feat(ui): add selective parsing controls
xelthorV May 11, 2026
ee39740
fix(ui): render parsing tab content
xelthorV May 11, 2026
4c7f328
feat(parsing): enrich telegram exports
xelthorV May 11, 2026
81ec97d
feat(ui): expose media export controls
xelthorV May 11, 2026
550b725
feat(ui): select fetched parsing chats
xelthorV May 11, 2026
2237232
fix(ui): show parsing chat table
xelthorV May 11, 2026
ee000c2
fix(ui): stack parsing chat controls
xelthorV May 11, 2026
a92cdfa
fix(parsing): resolve unread telegram chats
xelthorV May 11, 2026
f61e7f1
feat(sessions): cache telegram dc metadata
xelthorV May 11, 2026
a586ca3
feat(ui): show telegram session dc
xelthorV May 11, 2026
9e28a30
feat(parsing): enhance gift parsing and add message export cooldown
xelthorV May 12, 2026
a50b57a
feat(ui): add sender filtering to chat export
xelthorV May 12, 2026
eac1efa
fix(parsing): use absolute paths for downloads and fix type issues
xelthorV May 12, 2026
f752c48
ci: add pr summary
xelthorV May 12, 2026
389e9f7
chore: bump version to 0.3.0
xelthorV May 12, 2026
de9b37c
ci: add markdown in PR Summary
xelthorV May 12, 2026
77a9732
feat: enhanced parsing (#3)
IMDelewer May 12, 2026
5fe6880
chore: version 0.4.0
xelthorV May 15, 2026
8183e5a
ci(summary): Add changelog to summary
xelthorV May 15, 2026
11ee08e
ci(build): add build workflow
xelthorV May 15, 2026
1de620b
chore(pyproject): remove rigi from pyproject
xelthorV May 15, 2026
8cebf74
Merge 1de620be4b1d53c2e541006446e17af84be62c4b into 4f55536e4500c9f0a…
xelthorV May 15, 2026
179d7aa
docs: update CHANGELOG.md for PR #4
github-actions[bot] May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
169 changes: 169 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
name: Release

on:
workflow_dispatch:
inputs:
version:
description: "Release version"
required: true
default: "v0.3.0"

publish_pypi:
description: "Publish package to PyPI"
type: boolean
required: true
default: true

permissions:
contents: write
id-token: write

jobs:
verify:
name: Verify
runs-on: ubuntu-latest

strategy:
fail-fast: false

matrix:
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: pip

- name: Install dependencies
run: |
python -m pip install --upgrade pip

pip install \
build \
twine \
hatchling

pip install -e ".[dev]"

- name: Ruff
run: ruff check .

- name: Black
run: black --check .

- name: Pyright
run: pyright .

- name: Pytest
run: |
pytest tests/ \
-v \
--tb=short

release:
name: Release
needs: verify
runs-on: ubuntu-latest

environment:
name: pypi

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip

- name: Install build dependencies
run: |
python -m pip install --upgrade pip

pip install \
build \
twine \
hatchling

- name: Build package
run: python -m build

- name: Verify package
run: twine check dist/*

- name: Generate release notes
id: notes
run: |
PREV_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")

if [ -z "$PREV_TAG" ]; then
LOG=$(git log --pretty=format:"- %s")
else
LOG=$(git log ${PREV_TAG}..HEAD --pretty=format:"- %s")
fi

{
echo 'notes<<EOF'

echo "# Accxus ${{ github.event.inputs.version }}"
echo

echo "## Changes"
echo
echo "$LOG"
echo

echo "## Installation"
echo
echo '```bash'
echo 'pip install accxus'
echo '```'
echo

echo "## PyPI"
echo
echo "https://pypi.org/project/accxus/"
echo

echo 'EOF'
} >> "$GITHUB_OUTPUT"

- name: Create tag
run: |
TAG="${{ github.event.inputs.version }}"

if git rev-parse "$TAG" >/dev/null 2>&1; then
echo "Tag already exists"
exit 1
fi

git tag "$TAG"
git push origin "$TAG"

- name: Create GitHub release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.event.inputs.version }}
name: Accxus ${{ github.event.inputs.version }}
body: ${{ steps.notes.outputs.notes }}
generate_release_notes: true

files: |
dist/*

- name: Publish to PyPI
if: github.event.inputs.publish_pypi == 'true'
uses: pypa/gh-action-pypi-publish@release/v1
Loading