Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 6 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@ name: CI
on:
push:
pull_request:
workflow_dispatch:

jobs:
checks:
runs-on: ubuntu-latest
steps:
- name: Checkout working copy
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: ruff check
uses: chartboost/ruff-action@v1
- name: ruff format
Expand All @@ -29,7 +31,7 @@ jobs:
if: ${{ always() && steps.setup_python.conclusion == 'success' }}
run: |
python -mpip install --upgrade pip
python -mpip install mypy types-PyYaml
python -mpip install mypy types-PyYaml ./ua-parser-builtins
- name: mypy
if: ${{ always() && steps.install_mypy.conclusion == 'success' }}
run: mypy
Expand Down Expand Up @@ -101,6 +103,7 @@ jobs:
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
Expand All @@ -115,6 +118,7 @@ jobs:
sudo apt install libyaml-dev
fi
- run: python -mpip install pytest pyyaml
- run: python -mpip install ./ua-parser-builtins
# install rs accelerator if available, ignore if not
- run: python -mpip install ua-parser-rs || true
# re2 is basically impossible to install from source so don't
Expand Down
90 changes: 90 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Publish Python distribution to PyPI and TestPyPI

on:
schedule:
# schedule a dev release on every 1st of the month, at 2034 UTC
- cron: "34 20 1 * *"
workflow_dispatch:
inputs:
tag:
description: "uap-core ref to release"
type: string
environment:
description: "environment to release for (testpypy or pypy)"
type: environment

jobs:
build:
name: Build distribution
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: update core
# needs to detach because we can update to a tag
run: git -C uap-core switch --detach ${{ inputs.tag || 'master' }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"

- name: Install pypa/build
run: python3 -m pip install build --user
- name: Build wheel
run: |
python3 -m build -w ua-parser-builtins
mv ua-parser-builtins/dist .
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/

publish-to-testpypi:
name: Publish to TestPyPI
if: ${{ github.event.inputs.environment == 'testpypi' }}
needs:
- build
runs-on: ubuntu-latest

environment:
name: testpypi
url: https://test.pypi.org/p/ua-parser-builtins

permissions:
id-token: write

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/

publish-to-pypi:
name: publish
if: ${{ github.event_name == 'schedule' || github.event.inputs.environment == 'pypi' }}
needs:
- build
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/ua-parser-builtins
permissions:
id-token: write

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description = "Python port of Browserscope's user agent parser"
version = "1.0.0a1"
readme = "README.rst"
requires-python = ">=3.9"
dependencies = []
dependencies = ["ua-parser-builtins"]

license = {text = "Apache 2.0"}
urls = {repository = "https://github.com/ua-parser/uap-python"}
Expand Down Expand Up @@ -57,8 +57,7 @@ where = ["src"]

[tool.ruff]
exclude = [
"src/ua_parser/_lazy.py",
"src/ua_parser/_matchers.py",
"src/ua_parser/generate_builtins.py",
]

[tool.ruff.lint]
Expand Down
8 changes: 0 additions & 8 deletions setup.cfg

This file was deleted.

221 changes: 0 additions & 221 deletions setup.py

This file was deleted.

Loading