mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-01-03 01:15:57 +10:00
- Create uuid_compat.py module that provides uuid7 for Python <3.14 using uuid_extensions package, and native uuid.uuid7 for Python 3.14+ - Update all model files and migrations to use archivebox.uuid_compat - Add uuid7 conditional dependency in pyproject.toml for Python <3.14 - Update requires-python to >=3.13 (from >=3.14) - Update GitHub workflows, lock_pkgs.sh to use Python 3.13 - Update tool configs (ruff, pyright, uv) for Python 3.13 This enables running ArchiveBox on Python 3.13 while maintaining forward compatibility with Python 3.14's native uuid7 support.
66 lines
1.9 KiB
YAML
Executable File
66 lines
1.9 KiB
YAML
Executable File
name: Build Pip package
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- '**'
|
|
tags:
|
|
- 'v*'
|
|
|
|
env:
|
|
PYTHON_VERSION: "3.13"
|
|
|
|
jobs:
|
|
build:
|
|
permissions:
|
|
id-token: write
|
|
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v4
|
|
with:
|
|
enable-cache: true
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
architecture: x64
|
|
|
|
- name: APT install archivebox dev + run dependencies
|
|
uses: awalsh128/cache-apt-pkgs-action@latest
|
|
with:
|
|
packages: ripgrep build-essential python3-dev python3-setuptools libssl-dev libldap2-dev libsasl2-dev zlib1g-dev libatomic1 gnupg2 curl wget python3-ldap python3-msgpack python3-mutagen python3-regex python3-pycryptodome procps
|
|
version: 1.0
|
|
|
|
- name: UV install archivebox dev + run sub-dependencies
|
|
run: uv sync --frozen --all-extras --no-install-project --no-install-workspace
|
|
|
|
- name: UV build archivebox and archivebox/pkgs/* packages
|
|
run: |
|
|
uv build --all
|
|
|
|
- name: Publish new package wheels and sdists to PyPI
|
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
# ignore when publish to PyPI fails due to duplicate tag
|
|
continue-on-error: true
|
|
with:
|
|
password: ${{ secrets.PYPI_PAT_SECRET }}
|
|
|
|
- name: UV install archivebox and archivebox/pkgs/* locally for tests
|
|
run: uv sync --frozen --all-extras
|
|
|
|
- name: UV run archivebox init + archivebox version
|
|
run: |
|
|
mkdir -p data && cd data
|
|
uv run archivebox init \
|
|
&& uv run archivebox version
|
|
# && uv run archivebox add 'https://example.com' \
|
|
# && uv run archivebox status \
|
|
# || (echo "UV Failed to run archivebox!" && exit 1)
|
|
|