Skip to content

Commit 0b32508

Browse files
committed
chore: bootstrapping repository
0 parents  commit 0b32508

13 files changed

Lines changed: 1664 additions & 0 deletions

File tree

.editorconfig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# EditorConfig is awesome: https://editorconfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
[*]
7+
end_of_line = lf
8+
insert_final_newline = true
9+
10+
[*.py]
11+
indent_style = space
12+
indent_size = 4
13+
14+
[Makefile]
15+
indent_style = tab
16+
17+
[*.{js,ts,json,yml}]
18+
indent_style = space
19+
indent_size = 2
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: PR
2+
on:
3+
pull_request_target:
4+
types:
5+
- opened
6+
- reopened
7+
- edited
8+
- synchronize
9+
10+
jobs:
11+
title-format:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: amannn/action-semantic-pull-request@v6
15+
env:
16+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17+
with:
18+
validateSingleCommit: true

.github/workflows/main.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
cancel-previous:
11+
runs-on: ubuntu-latest
12+
if: github.ref != 'refs/heads/main'
13+
steps:
14+
- uses: khan/pull-request-workflow-cancel@1.0.1
15+
with:
16+
workflows: "main.yml"
17+
env:
18+
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
19+
20+
formatting:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v5
24+
25+
- name: Install uv
26+
uses: astral-sh/setup-uv@v5
27+
with:
28+
python-version: "3.11"
29+
30+
- name: Run Lint
31+
run: |
32+
uv run hatch run quality:check
33+
34+
- name: Run Type Checks
35+
run: |
36+
uv run hatch run quality:typecheck
37+
38+
testing:
39+
runs-on: ubuntu-latest
40+
strategy:
41+
matrix:
42+
python-version:
43+
- '3.12'
44+
- '3.13'
45+
- '3.14'
46+
needs: formatting
47+
steps:
48+
- uses: actions/checkout@v5
49+
with:
50+
lfs: true
51+
52+
- name: Install uv
53+
uses: astral-sh/setup-uv@v5
54+
with:
55+
python-version: "${{ matrix.python-version }}"
56+
57+
- name: Run tests
58+
run: |
59+
uv run hatch run tests:run
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
name: release-please
7+
8+
jobs:
9+
release-please:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: googleapis/release-please-action@v4
13+
id: release
14+
with:
15+
config-file: release-please-config.json
16+
manifest-file: .release-please-manifest.json
17+
token: ${{ secrets.BOT_TOKEN }}
18+
include-component-in-tag: false
19+
20+
- uses: actions/checkout@v5
21+
if: ${{ steps.release.outputs.release_created }}
22+
with:
23+
fetch-depth: 0
24+
25+
- name: Install uv
26+
uses: astral-sh/setup-uv@v5
27+
28+
- name: Build package
29+
if: ${{ steps.release.outputs.release_created }}
30+
run: |
31+
uv run hatch run build:run
32+
33+
- name: Publish to PyPI
34+
if: ${{ steps.release.outputs.release_created }}
35+
uses: pypa/gh-action-pypi-publish@release/v1
36+
with:
37+
user: __token__
38+
password: ${{ secrets.PYPI_TOKEN }}

0 commit comments

Comments
 (0)