Skip to content

Commit 2fed42f

Browse files
Update Modal client version (#32212)
GitOrigin-RevId: 0803420f4821005dc63eba326c21b08567b5de2f
1 parent 60da48f commit 2fed42f

17 files changed

Lines changed: 804 additions & 11 deletions

File tree

.github/CONTRIBUTING.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Contributing
2+
3+
## Set Up Development Environment
4+
5+
1. Create and activate a Python virtual environment with your preferred tool. The Python version
6+
used for development is specified in `.github/workflows/ci-cd.yml` under
7+
`.github/actions/setup-cached-python`.
8+
1. If you use `uv`, run `uv venv .venv --python 3.11 --seed && source .venv/bin/activate`.
9+
1. If you use `pyenv`, run `pyenv virtualenv -p python3.11 3.11.12 modal-client && pyenv
10+
activate modal-client`.
11+
1. Install development dependencies: `pip install -r requirements.dev.txt`
12+
1. Compile protobuf files: `inv protoc`
13+
1. Install the repo in editable mode: `pip install -e .`
14+
1. Build type Python stubs and check types: `inv type-check`
15+
1. Install pre-commit: `pre-commit install`
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Bug report
2+
description: Report an error or unexpected behavior
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for helping to improve Modal!
9+
We generally prefer to receive bug reports over [Slack](https://modal.com/slack), which is monitored by a larger support team and plugs into our internal ticketing system.
10+
If that is not an option, you can file a bug report here, although we may be slower to respond.
11+
12+
- type: textarea
13+
attributes:
14+
label: Summary
15+
description: |
16+
A clear and concise description of the bug, ideally including a minimal reproducible example (e.g. a script that we can `modal run` to observe the defective behavior).
17+
validations:
18+
required: true
19+
20+
- type: input
21+
attributes:
22+
label: Version
23+
description: The version of the modal client you are using (`modal --version`)
24+
placeholder: e.g., 0.70.123
25+
validations:
26+
required: true
27+
28+
- type: input
29+
attributes:
30+
label: App ID
31+
description: If the bug pertains to an existing App, please share the ID. Sharing an ID implies permission for Modal engineers to view the App logs.
32+
placeholder: e.g., ap-123abc567xyz
33+
validations:
34+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: User Support
4+
url: https://modal.com/slack
5+
about: Please ask for support using Modal on Slack (#general)
6+
- name: Feature Requests
7+
url: https://modal.com/slack
8+
about: Please reach out with feature requests on Slack (#feature-requests)
9+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: setup-cached-python
2+
3+
inputs:
4+
version:
5+
description: Which Python version to install
6+
required: true
7+
default: "3.10"
8+
9+
runs:
10+
using: composite
11+
steps:
12+
- name: Install Python
13+
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5
14+
with:
15+
python-version: ${{ inputs.version }}
16+
17+
- name: Setup uv with caching
18+
uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2
19+
with:
20+
enable-cache: true
21+
version: "0.9.24"
22+
cache-dependency-glob: |
23+
requirements.dev.txt
24+
pyproject.toml
25+
26+
- name: Install Python packages
27+
shell: bash
28+
run: |
29+
uv pip install --system -r requirements.dev.txt

.github/pull_request_template.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## Describe your changes
2+
3+
- _Provide Linear issue reference (e.g. CLI-1234) if available._
4+
5+
<details> <summary>Checklists</summary>
6+
7+
---
8+
9+
## Compatibility checklist
10+
11+
Check these boxes or delete any item (or this section) if not relevant for this PR.
12+
13+
- [ ] Client+Server: this change is compatible with old servers
14+
- [ ] Client forward compatibility: this change ensures client can accept data intended for later versions of itself
15+
16+
Note on protobuf: protobuf message changes in one place may have impact to
17+
multiple entities (client, server, worker, database). See points above.
18+
19+
20+
---
21+
22+
## Release checklist
23+
24+
If you intend for this commit to trigger a full release to PyPI, please ensure that the following steps have been taken:
25+
26+
- [ ] Version file (`modal_version/__init__.py`) has been updated with the next logical version
27+
- [ ] Changelog has been cleaned up and given an appropriate subhead
28+
29+
---
30+
31+
</details>
32+
33+
## Changelog
34+
35+
<!--
36+
If relevant, include a brief user-facing description of what's new in this version.
37+
38+
Format the changelog updates using bullet points.
39+
See https://modal.com/docs/reference/changelog for examples and try to use a consistent style.
40+
41+
Provide short code examples, indented under the relevant bullet point, if they would be helpful.
42+
Cross-linking to relevant documentation is also encouraged.
43+
-->

.github/workflows/check.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Check
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
# Cancel previous runs of the same PR but do not cancel previous runs on main
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
13+
14+
jobs:
15+
lint:
16+
name: Ruff linting
17+
runs-on: ubuntu-24.04
18+
19+
steps:
20+
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
21+
22+
- uses: ./.github/actions/setup-cached-python
23+
with:
24+
version: "3.10"
25+
26+
- run: inv lint
27+
28+
- run: inv lint-protos
29+
30+
type_check:
31+
name: Static type checks
32+
runs-on: ubuntu-24.04
33+
34+
steps:
35+
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
36+
37+
- uses: ./.github/actions/setup-cached-python
38+
with:
39+
version: "3.10"
40+
41+
- run: inv protoc
42+
43+
- run: pip install -e . # gets all dependencies and the package itself into python env
44+
45+
- run: pip install "synchronicity[compile]==0.11.1" # gets all dependencies and the package itself into python env
46+
47+
- name: Build type stubs
48+
run: inv type-stubs
49+
50+
- run: inv type-check
51+
52+
check-copyright:
53+
name: Check copyright
54+
runs-on: ubuntu-24.04
55+
56+
steps:
57+
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
58+
59+
- uses: ./.github/actions/setup-cached-python
60+
with:
61+
version: "3.10"
62+
63+
- run: inv check-copyright

0 commit comments

Comments
 (0)