File tree Expand file tree Collapse file tree 2 files changed +98
-0
lines changed
Expand file tree Collapse file tree 2 files changed +98
-0
lines changed Original file line number Diff line number Diff line change 1+ name : CI
2+
3+ on :
4+ push :
5+ branches : [main]
6+ pull_request :
7+ branches : [main]
8+
9+ jobs :
10+ lint :
11+ name : Lint
12+ runs-on : ubuntu-latest
13+ steps :
14+ - uses : actions/checkout@v4
15+ - uses : astral-sh/setup-uv@v4
16+ - run : uv sync
17+ - run : uv run ruff check src/ tests/
18+ - run : uv run ruff format --check src/ tests/
19+
20+ typecheck :
21+ name : Typecheck
22+ runs-on : ubuntu-latest
23+ steps :
24+ - uses : actions/checkout@v4
25+ - uses : astral-sh/setup-uv@v4
26+ - run : uv sync
27+ - run : uv run mypy src/
28+
29+ test :
30+ name : Test (Python ${{ matrix.python-version }})
31+ runs-on : ubuntu-latest
32+ strategy :
33+ matrix :
34+ python-version : ["3.11", "3.12", "3.13"]
35+ steps :
36+ - uses : actions/checkout@v4
37+ - uses : astral-sh/setup-uv@v4
38+ with :
39+ python-version : ${{ matrix.python-version }}
40+ - run : uv sync
41+ - run : uv run pytest --cov=vynco --cov-report=term-missing
42+
43+ package :
44+ name : Package
45+ runs-on : ubuntu-latest
46+ steps :
47+ - uses : actions/checkout@v4
48+ - uses : astral-sh/setup-uv@v4
49+ - run : uv build
Original file line number Diff line number Diff line change 1+ name : Publish to PyPI
2+
3+ on :
4+ push :
5+ tags :
6+ - " v*"
7+
8+ permissions :
9+ id-token : write
10+ contents : write
11+
12+ jobs :
13+ verify :
14+ name : Verify
15+ runs-on : ubuntu-latest
16+ steps :
17+ - uses : actions/checkout@v4
18+ - uses : astral-sh/setup-uv@v4
19+ - run : uv sync
20+ - run : uv run ruff check src/ tests/
21+ - run : uv run ruff format --check src/ tests/
22+ - run : uv run mypy src/
23+ - run : uv run pytest
24+ - run : uv build
25+
26+ publish :
27+ name : Publish
28+ needs : verify
29+ runs-on : ubuntu-latest
30+ environment : pypi
31+ steps :
32+ - uses : actions/checkout@v4
33+ - uses : astral-sh/setup-uv@v4
34+ - run : uv build
35+ - uses : pypa/gh-action-pypi-publish@release/v1
36+
37+ release :
38+ name : GitHub Release
39+ needs : publish
40+ runs-on : ubuntu-latest
41+ permissions :
42+ contents : write
43+ steps :
44+ - uses : actions/checkout@v4
45+ - name : Create GitHub Release
46+ env :
47+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
48+ TAG_NAME : ${{ github.ref_name }}
49+ run : gh release create "$TAG_NAME" --generate-notes --title "$TAG_NAME"
You can’t perform that action at this time.
0 commit comments