Skip to content

Commit 3b3a33f

Browse files
Fix conflict
2 parents eb9e827 + d0e651f commit 3b3a33f

23 files changed

Lines changed: 2384 additions & 192 deletions

.github/dependabot.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ updates:
77
interval: "daily"
88
commit-message:
99
prefix:
10+
labels: [dependencies, internal]
1011
# Python
11-
- package-ecosystem: "pip"
12+
- package-ecosystem: "uv"
1213
directory: "/"
1314
schedule:
1415
interval: "daily"
1516
commit-message:
1617
prefix:
18+
labels: [dependencies, internal]

.github/workflows/publish.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,20 @@ jobs:
1010
runs-on: ubuntu-latest
1111
permissions:
1212
id-token: write
13+
contents: read
1314
steps:
1415
- name: Dump GitHub context
1516
env:
1617
GITHUB_CONTEXT: ${{ toJson(github) }}
1718
run: echo "$GITHUB_CONTEXT"
1819
- uses: actions/checkout@v5
1920
- name: Set up Python
20-
uses: actions/setup-python@v5
21+
uses: actions/setup-python@v6
2122
with:
22-
python-version: "3.10"
23-
- name: Install build dependencies
24-
run: pip install build
23+
python-version-file: "pyproject.toml"
24+
- name: Install uv
25+
uses: astral-sh/setup-uv@v7
2526
- name: Build distribution
26-
run: python -m build
27+
run: uv build
2728
- name: Publish
28-
uses: pypa/gh-action-pypi-publish@v1.13.0
29+
run: uv publish

.github/workflows/test-redistribute.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ jobs:
1919
run: echo "$GITHUB_CONTEXT"
2020
- uses: actions/checkout@v5
2121
- name: Set up Python
22-
uses: actions/setup-python@v5
22+
uses: actions/setup-python@v6
2323
with:
24-
python-version: "3.10"
24+
python-version-file: "pyproject.toml"
2525
# Issue ref: https://github.com/actions/setup-python/issues/436
2626
# cache: "pip"
2727
# cache-dependency-path: pyproject.toml
@@ -36,9 +36,7 @@ jobs:
3636
- name: Install test dependencies
3737
run: |
3838
cd dist/fastapi_cloud_cli*/
39-
pip install -r requirements-tests.txt
40-
env:
41-
TIANGOLO_BUILD_PACKAGE: ${{ matrix.package }}
39+
pip install --group dev .
4240
- name: Run source distribution tests
4341
run: |
4442
cd dist/fastapi_cloud_cli*/

.github/workflows/test.yml

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,55 +23,61 @@ on:
2323

2424
jobs:
2525
test:
26-
runs-on: ubuntu-latest
2726
strategy:
2827
matrix:
29-
python-version:
30-
- "3.8"
31-
- "3.9"
32-
- "3.10"
33-
- "3.11"
34-
- "3.12"
28+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
29+
pydantic-version: ["v2"]
30+
include:
31+
- python-version: "3.8"
32+
pydantic-version: "v1"
33+
- python-version: "3.9"
34+
pydantic-version: "v1"
35+
- python-version: "3.10"
36+
pydantic-version: "v1"
37+
- python-version: "3.11"
38+
pydantic-version: "v1"
39+
- python-version: "3.12"
40+
pydantic-version: "v1"
3541
fail-fast: false
42+
runs-on: ubuntu-latest
3643
steps:
3744
- name: Dump GitHub context
3845
env:
3946
GITHUB_CONTEXT: ${{ toJson(github) }}
4047
run: echo "$GITHUB_CONTEXT"
4148
- uses: actions/checkout@v5
4249
- name: Set up Python
43-
uses: actions/setup-python@v5
50+
uses: actions/setup-python@v6
4451
with:
4552
python-version: ${{ matrix.python-version }}
4653
# Issue ref: https://github.com/actions/setup-python/issues/436
4754
# cache: "pip"
4855
# cache-dependency-path: pyproject.toml
49-
- uses: actions/cache@v4
50-
id: cache
51-
with:
52-
path: ${{ env.pythonLocation }}
53-
key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml', 'requirements-tests.txt') }}
56+
- name: Install uv
57+
uses: astral-sh/setup-uv@v7
5458
# Allow debugging with tmate
5559
- name: Setup tmate session
5660
uses: mxschmitt/action-tmate@v3
5761
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled == 'true' }}
5862
with:
5963
limit-access-to-actor: true
6064
- name: Install Dependencies
61-
if: steps.cache.outputs.cache-hit != 'true'
62-
run: pip install -r requirements-tests.txt
65+
run: uv sync --locked --all-extras --dev
66+
- name: Install Pydantic v1
67+
if: matrix.pydantic-version == 'v1'
68+
run: uv pip install "pydantic<2.0.0"
6369
- name: Lint
64-
run: bash scripts/lint.sh
70+
run: uv run --no-sync scripts/lint.sh
6571
- run: mkdir coverage
6672
- name: Test
67-
run: bash scripts/test.sh
73+
run: uv run --no-sync scripts/test.sh
6874
env:
6975
COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}
7076
CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}
7177
- name: Store coverage files
7278
uses: actions/upload-artifact@v4
7379
with:
74-
name: coverage-${{ matrix.python-version }}
80+
name: coverage-${{ matrix.python-version }}-${{ matrix.pydantic-version }}
7581
path: coverage
7682
include-hidden-files: true
7783

@@ -84,23 +90,25 @@ jobs:
8490
GITHUB_CONTEXT: ${{ toJson(github) }}
8591
run: echo "$GITHUB_CONTEXT"
8692
- uses: actions/checkout@v5
87-
- uses: actions/setup-python@v5
93+
- uses: actions/setup-python@v6
8894
with:
89-
python-version: '3.8'
95+
python-version-file: "pyproject.toml"
9096
# Issue ref: https://github.com/actions/setup-python/issues/436
9197
# cache: "pip"
9298
# cache-dependency-path: pyproject.toml
99+
- name: Install uv
100+
uses: astral-sh/setup-uv@v7
93101
- name: Get coverage files
94102
uses: actions/download-artifact@v5
95103
with:
96104
pattern: coverage-*
97105
path: coverage
98106
merge-multiple: true
99-
- run: pip install coverage[toml]
107+
- run: uv sync --locked --all-extras --dev
100108
- run: ls -la coverage
101-
- run: coverage combine coverage
102-
- run: coverage report
103-
- run: coverage html --title "Coverage for ${{ github.sha }}"
109+
- run: uv run coverage combine coverage
110+
- run: uv run coverage report
111+
- run: uv run coverage html --title "Coverage for ${{ github.sha }}"
104112
- name: Store coverage HTML
105113
uses: actions/upload-artifact@v4
106114
with:

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.8

pyproject.toml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ classifiers = [
2828
"Programming Language :: Python :: 3.11",
2929
"Programming Language :: Python :: 3.12",
3030
"Programming Language :: Python :: 3.13",
31-
"License :: OSI Approved :: MIT License",
3231
]
3332
dependencies = [
3433
"typer >= 0.12.3",
@@ -38,11 +37,23 @@ dependencies = [
3837
"rich-toolkit >= 0.14.5",
3938
"pydantic[email] >= 1.6.1",
4039
"sentry-sdk >= 2.20.0",
40+
"fastar >= 0.8.0",
4141
]
4242

4343
[project.optional-dependencies]
4444
standard = ["uvicorn[standard] >= 0.15.0"]
4545

46+
[dependency-groups]
47+
dev = [
48+
"pre-commit>=2.17.0,<5.0.0",
49+
"pytest>=4.4.0,<9.0.0",
50+
"coverage[toml]>=6.2,<8.0",
51+
"mypy==1.14.1",
52+
"ruff==0.13.0",
53+
"respx==0.22.0",
54+
"time-machine==2.15.0",
55+
]
56+
4657
[project.urls]
4758
Homepage = "https://github.com/fastapilabs/fastapi-cloud-cli"
4859
Documentation = "https://fastapi.tiangolo.com/fastapi-cloud-cli/"
@@ -59,7 +70,7 @@ version = { source = "file", path = "src/fastapi_cloud_cli/__init__.py" }
5970
distribution = true
6071

6172
[tool.pdm.build]
62-
source-includes = ["tests/", "requirements*.txt", "scripts/"]
73+
source-includes = ["tests/", "scripts/"]
6374

6475
[tool.pytest.ini_options]
6576
addopts = ["--strict-config", "--strict-markers"]
@@ -108,10 +119,6 @@ ignore = [
108119
"W191", # indentation contains tabs
109120
]
110121

111-
# [tool.ruff.lint.per-file-ignores]
112-
# "__init__.py" = ["F401"]
113-
114-
115122
[tool.ruff.lint.isort]
116123
known-third-party = ["typer", "fastapi"]
117124

release-notes.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,60 @@
22

33
## Latest Changes
44

5+
## 0.7.0
6+
7+
### Features
8+
9+
* ✨ Add upload cancellation notification on keyboard interrupt. PR [#129](https://github.com/fastapilabs/fastapi-cloud-cli/pull/129) by [@patrick91](https://github.com/patrick91).
10+
11+
### Fixes
12+
13+
* 🐛 Handle TimeoutError when waiting for deployment. PR [#131](https://github.com/fastapilabs/fastapi-cloud-cli/pull/131) by [@buurro](https://github.com/buurro).
14+
15+
### Internal
16+
17+
* ✅ Fix test coverage. PR [#130](https://github.com/fastapilabs/fastapi-cloud-cli/pull/130) by [@patrick91](https://github.com/patrick91).
18+
19+
## 0.6.0
20+
21+
### Features
22+
23+
* ⚡️ Compress code archives to speed up uploads. PR [#125](https://github.com/fastapilabs/fastapi-cloud-cli/pull/125) by [@DoctorJohn](https://github.com/DoctorJohn).
24+
25+
### Refactors
26+
27+
* ⬆️ Migrate to uv. PR [#127](https://github.com/fastapilabs/fastapi-cloud-cli/pull/127) by [@DoctorJohn](https://github.com/DoctorJohn).
28+
* 🔥 Remove path confirmation on first deployment. PR [#123](https://github.com/fastapilabs/fastapi-cloud-cli/pull/123) by [@buurro](https://github.com/buurro).
29+
30+
## 0.5.2
31+
32+
### Fixes
33+
34+
* 🐛 Fix archive file was not closed after upload. PR [#122](https://github.com/fastapilabs/fastapi-cloud-cli/pull/122) by [@DoctorJohn](https://github.com/DoctorJohn).
35+
36+
## 0.5.1
37+
38+
### Fixes
39+
40+
* ✏️ Fix logout suggestion message. PR [#118](https://github.com/fastapilabs/fastapi-cloud-cli/pull/118) by [@buurro](https://github.com/buurro).
41+
42+
### Refactors
43+
44+
* ♻️ Improve waitlist success command. PR [#117](https://github.com/fastapilabs/fastapi-cloud-cli/pull/117) by [@patrick91](https://github.com/patrick91).
45+
46+
## 0.5.0
47+
48+
### Features
49+
50+
* ✨ Resume build log stream if interrupted. PR [#109](https://github.com/fastapilabs/fastapi-cloud-cli/pull/109) by [@buurro](https://github.com/buurro).
51+
52+
### Internal
53+
54+
* 👷 Add support for Pydantic v1. PR [#116](https://github.com/fastapilabs/fastapi-cloud-cli/pull/116) by [@patrick91](https://github.com/patrick91).
55+
* 🔧 Add labels to Dependabot updates. PR [#113](https://github.com/fastapilabs/fastapi-cloud-cli/pull/113) by [@alejsdev](https://github.com/alejsdev).
56+
57+
## 0.4.0
58+
559
### Features
660

761
* ✨ Add fastapi cloud sub-command. PR [#104](https://github.com/fastapilabs/fastapi-cloud-cli/pull/104) by [@buurro](https://github.com/buurro).
@@ -10,8 +64,14 @@
1064

1165
### Fixes
1266

67+
* 🐛 Include hidden files in app archive. PR [#115](https://github.com/fastapilabs/fastapi-cloud-cli/pull/115) by [@buurro](https://github.com/buurro).
1368
* ♻️ Clean up code archives after uploading. PR [#106](https://github.com/fastapilabs/fastapi-cloud-cli/pull/106) by [@DoctorJohn](https://github.com/DoctorJohn).
1469

70+
### Refactors
71+
72+
* 🧑‍💻 Handle already logged in state. PR [#103](https://github.com/fastapilabs/fastapi-cloud-cli/pull/103) by [@alejsdev](https://github.com/alejsdev).
73+
* ⚡️ Speed up archive creation. PR [#111](https://github.com/fastapilabs/fastapi-cloud-cli/pull/111) by [@DoctorJohn](https://github.com/DoctorJohn).
74+
1575
## 0.3.1
1676

1777
### Fixes

requirements-tests.txt

Lines changed: 0 additions & 7 deletions
This file was deleted.

requirements.txt

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/fastapi_cloud_cli/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.3.1"
1+
__version__ = "0.7.0"

0 commit comments

Comments
 (0)