Skip to content

feat(go): Implement metrics and tracing for http and grpc servers #15362

feat(go): Implement metrics and tracing for http and grpc servers

feat(go): Implement metrics and tracing for http and grpc servers #15362

Workflow file for this run

name: unit-tests
on:
pull_request:
push:
branches:
- master
jobs:
unit-test-python:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]
os: [ ubuntu-latest, macos-14 ]
exclude:
- os: macos-14
python-version: "3.10"
env:
OS: ${{ matrix.os }}
PYTHON: ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v4
- name: Setup Python
id: setup-python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Install system dependencies
run: |
if [ "$RUNNER_OS" = "Linux" ]; then
sudo apt-get update
sudo apt-get install -y make
elif [ "$RUNNER_OS" = "macOS" ]; then
# make is already installed on macOS runners
which make || brew install make
fi
- name: Install dependencies
run: make install-python-dependencies-ci
- name: Test Python
run: |
# Set up environment for Ray workers to access packages
export PATH="${{ github.workspace }}/.venv/bin:$PATH"
# Dynamically detect site-packages for uv env
SITE_PACKAGES=$(uv run python -c "import site; print(site.getsitepackages()[0])")
# Preserve any existing PYTHONPATH and add repo + site-packages
export PYTHONPATH="${{ github.workspace }}/sdk/python:${PYTHONPATH}:$SITE_PACKAGES"
echo "Using PYTHONPATH: $PYTHONPATH"
echo "Using PATH: $PATH"
# Ray macOS workarounds
if [[ "$RUNNER_OS" == "macOS" ]]; then
echo "=== Applying macOS Ray compatibility workarounds ==="
export RAY_DISABLE_RUNTIME_ENV_HOOK=1
export PYTHONDONTWRITEBYTECODE=1
echo "Applied macOS workarounds for Python ${{ matrix.python-version }}"
fi
make test-python-unit
- name: Minimize uv cache
run: uv cache prune --ci
unit-test-ui:
runs-on: ubuntu-latest
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: './ui/.nvmrc'
registry-url: 'https://registry.npmjs.org'
- name: Install yarn dependencies
working-directory: ./ui
run: yarn install
- name: Check code formatting
working-directory: ./ui
run: yarn format:check
- name: Build yarn rollup
working-directory: ./ui
run: yarn build:lib
- name: Run yarn tests
working-directory: ./ui
run: yarn test --watchAll=false