Skip to content

Commit 24f9624

Browse files
authored
Merge branch 'master' into feat/server/a2a-jwt-jwks
2 parents e5d03f0 + aff29a5 commit 24f9624

295 files changed

Lines changed: 13071 additions & 5789 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/java-gradle/pre-merge/action.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,16 @@ runs:
9393
USE_EXTERNAL_SERVER: true
9494
run: ./gradlew test
9595

96+
- name: Check for ByteBuf leaks
97+
if: ${{ !cancelled() && inputs.task == 'test' }}
98+
shell: bash
99+
run: |
100+
if grep -r "LEAK:" foreign/java/java-sdk/build/test-results/ 2>/dev/null; then
101+
echo "::error::Netty ByteBuf memory leaks detected in test output!"
102+
exit 1
103+
fi
104+
echo "No ByteBuf leaks detected"
105+
96106
- name: Generate coverage report
97107
if: inputs.task == 'test'
98108
shell: bash

.github/actions/python-maturin/pre-merge/action.yml

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -29,34 +29,29 @@ runs:
2929
- name: Setup Python
3030
uses: actions/setup-python@v5
3131
with:
32-
python-version: "3.11"
32+
python-version: "3.10"
3333

3434
- name: Setup Rust with cache
3535
uses: ./.github/actions/utils/setup-rust-with-cache
3636

37-
- name: Cache pip
37+
- name: Install uv
38+
uses: astral-sh/setup-uv@v7
39+
40+
- name: Cache uv
3841
uses: actions/cache@v4
3942
with:
40-
path: ~/.cache/pip
41-
key: pip-${{ runner.os }}-${{ hashFiles('foreign/python/pyproject.toml') }}
43+
path: ~/.cache/uv
44+
key: uv-${{ runner.os }}-${{ hashFiles('examples/python/uv.lock', 'foreign/python/uv.lock', 'bdd/python/uv.lock') }}
4245

4346
- name: Install dependencies
47+
shell: bash
4448
run: |
45-
python -m pip install --upgrade pip wheel setuptools
46-
47-
# Install maturin for building
48-
pip install 'maturin>=1.2,<2.0'
49-
50-
# Install testing dependencies from pyproject.toml
5149
cd foreign/python
52-
pip install -e ".[testing,dev]"
53-
cd ../..
54-
55-
# Install additional CI dependencies for Docker testing if needed
5650
if [ "${{ inputs.task }}" = "test" ]; then
57-
pip install 'testcontainers[docker]>=3.7.0,<5.0' || true
51+
uv sync --frozen --extra dev --extra testing --extra testing-docker
52+
else
53+
uv sync --frozen --extra dev --extra testing
5854
fi
59-
shell: bash
6055
6156
- name: Lint and format check
6257
if: inputs.task == 'lint'
@@ -71,19 +66,21 @@ runs:
7166
[ -d "$DIR_BDD" ] && DIRS_TO_CHECK="$DIRS_TO_CHECK $DIR_BDD"
7267
[ -d "$DIR_EXAMPLES" ] && DIRS_TO_CHECK="$DIRS_TO_CHECK $DIR_EXAMPLES"
7368
69+
cd foreign/python
70+
7471
echo "Directories to check: $DIRS_TO_CHECK"
75-
echo "ruff version: $(ruff --version)"
72+
echo "ruff version: $(uv run ruff --version)"
7673
7774
echo "Running ruff check..."
78-
ruff check $DIRS_TO_CHECK
75+
uv run ruff check $DIRS_TO_CHECK
7976
8077
echo "Running ruff format --check..."
81-
ruff format --check $DIRS_TO_CHECK
78+
uv run ruff format --check $DIRS_TO_CHECK
8279
8380
# mypy only for the SDK (has type stubs)
8481
echo "Running mypy on SDK..."
85-
mypy --explicit-package-bases "$DIR_SDK"
86-
echo "mypy version: $(mypy --version)"
82+
uv run mypy --explicit-package-bases "$DIR_SDK"
83+
echo "mypy version: $(uv run mypy --version)"
8784
shell: bash
8885

8986
- name: Build Python wheel for testing
@@ -93,12 +90,12 @@ runs:
9390
9491
# Build the module
9592
echo "Building Python wheel..."
96-
maturin build -o dist
93+
uv run maturin build -o dist
9794
9895
if [ "${{ inputs.task }}" = "test" ]; then
9996
# Install the built wheel for testing
10097
echo "Installing built wheel..."
101-
pip install dist/*.whl --force-reinstall
98+
uv pip install dist/*.whl --force-reinstall
10299
fi
103100
104101
if [ "${{ inputs.task }}" = "build" ]; then
@@ -125,7 +122,7 @@ runs:
125122
# Run all tests with server connection
126123
IGGY_SERVER_HOST=127.0.0.1 \
127124
IGGY_SERVER_TCP_PORT=8090 \
128-
pytest tests/ -v \
125+
uv run pytest tests/ -v \
129126
--junitxml=../../reports/python-junit.xml \
130127
--tb=short \
131128
--capture=no || TEST_EXIT_CODE=$?
@@ -142,7 +139,7 @@ runs:
142139
echo "⚠️ Server failed to start, running unit tests only..."
143140
144141
# Run unit tests only (exclude integration tests)
145-
pytest tests/ -v \
142+
uv run pytest tests/ -v \
146143
-m "not integration" \
147144
--junitxml=../../reports/python-junit.xml \
148145
--tb=short || TEST_EXIT_CODE=$?

.github/actions/rust/pre-merge/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ runs:
150150
shell: bash
151151

152152
- name: Backwards compatibility check
153-
if: inputs.task == 'compat' && (github.event_name != 'pull_request' || !contains(github.event.pull_request.body || '', 'BREAKING'))
153+
if: inputs.task == 'compat' && (github.event_name != 'pull_request' || !contains(join(github.event.pull_request.labels.*.name, ','), 'breaking:storage'))
154154
run: |
155155
scripts/check-backwards-compat.sh \
156156
--master-ref master \

.github/actions/utils/setup-rust-with-cache/action.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,12 @@ runs:
4949
- name: Install system dependencies (macOS)
5050
if: runner.os == 'macOS'
5151
run: |
52-
brew install hwloc
52+
# Pin version of hwloc to 2.12.2_1
53+
# brew extract doesn't have this version, so we fetch the formula directly
54+
brew tap-new iggy/local-hwloc
55+
curl -fsSL https://raw.githubusercontent.com/Homebrew/homebrew-core/bb1e23f8e5eacf4d31acd489f6079c8a53ebd690/Formula/h/hwloc.rb \
56+
-o "$(brew --repository iggy/local-hwloc)/Formula/hwloc.rb"
57+
brew install iggy/local-hwloc/hwloc
5358
shell: bash
5459

5560
- name: Setup Rust toolchain

.github/workflows/_build_python_wheels.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ jobs:
9999
elif command -v yum &> /dev/null; then
100100
yum install -y perl-IPC-Cmd
101101
fi
102-
python3 -m pip --version || python3 -m ensurepip
103102
manylinux: ${{ matrix.manylinux }}
104103
args: --release --out dist --interpreter python3.10 python3.11 python3.12 python3.13
105104
sccache: "true"

.github/workflows/_test_examples.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,18 @@ jobs:
5959
if: inputs.component == 'examples-suite' && inputs.task == 'examples-python'
6060
uses: actions/setup-python@v5
6161
with:
62-
python-version: "3.11"
62+
python-version: "3.10"
6363

64-
- name: Cache pip
64+
- name: Setup uv
65+
if: inputs.component == 'examples-suite' && inputs.task == 'examples-python'
66+
uses: astral-sh/setup-uv@v7
67+
68+
- name: Cache uv
6569
if: inputs.component == 'examples-suite' && inputs.task == 'examples-python'
6670
uses: actions/cache@v4
6771
with:
68-
path: ~/.cache/pip
69-
key: pip-${{ runner.os }}-${{ hashFiles('foreign/python/pyproject.toml') }}
72+
path: ~/.cache/uv
73+
key: uv-${{ runner.os }}-${{ hashFiles('examples/python/uv.lock', 'foreign/python/uv.lock', 'bdd/python/uv.lock') }}
7074

7175
- name: Setup Java with cache for examples
7276
if: inputs.component == 'examples-suite' && inputs.task == 'examples-java'

.github/workflows/publish.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,17 @@ jobs:
468468
continue
469469
fi
470470
471+
# In auto-publish mode, stable Docker versions only get :edge tag.
472+
# Versioned git tags require manual publish (workflow_dispatch).
473+
REGISTRY=$(_jq '.registry')
474+
if [ "${{ inputs.create_edge_docker_tag }}" = "true" ] && [ "$REGISTRY" = "dockerhub" ]; then
475+
if [[ ! "$VERSION" =~ -(edge|rc) ]]; then
476+
echo "⏭️ $NAME: Stable Docker version in auto-publish mode, tag will be skipped"
477+
echo "| $NAME | $VERSION | $TAG | ⏭️ Stable (manual publish only) |" >> $GITHUB_STEP_SUMMARY
478+
continue
479+
fi
480+
fi
481+
471482
if [ "$VERSION" = "ERROR" ] || [ "$TAG" = "ERROR" ]; then
472483
echo "❌ Failed to extract version/tag for $NAME"
473484
echo "| $NAME | ERROR | ERROR | ❌ Failed to extract |" >> $GITHUB_STEP_SUMMARY

Cargo.lock

Lines changed: 27 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)