Skip to content

release: tunnel 0.1.10 #2549

release: tunnel 0.1.10

release: tunnel 0.1.10 #2549

Workflow file for this run

name: CI
permissions:
contents: read
on:
push:
branches: [ "main", "develop" ]
pull_request:
branches: [ "main", "develop" ]
jobs:
check-version-bump:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Fetch base branch
run: git fetch origin ${{ github.base_ref }}
- name: Check for version bumps in non-release PRs
env:
BRANCH_NAME: ${{ github.head_ref }}
run: |
# Check if this is a release PR (by branch name)
if echo "$BRANCH_NAME" | grep -qE "^release/"; then
echo "✅ Branch matches 'release/*' pattern - version bumps allowed"
exit 0
fi
# Get the list of changed files
CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }}...HEAD)
# Version files to check
VERSION_FILES=(
"packages/prime/src/prime_cli/__init__.py"
"packages/prime-sandboxes/src/prime_sandboxes/__init__.py"
"packages/prime-evals/src/prime_evals/__init__.py"
)
BUMPED_FILES=""
for FILE in "${VERSION_FILES[@]}"; do
if echo "$CHANGED_FILES" | grep -q "^$FILE$"; then
# Check if __version__ was actually changed
if git diff origin/${{ github.base_ref }}...HEAD -- "$FILE" | grep -qE "^\+__version__"; then
BUMPED_FILES="$BUMPED_FILES\n - $FILE"
fi
fi
done
if [ -n "$BUMPED_FILES" ]; then
echo "❌ Version bump detected in non-release PR!"
echo ""
echo "The following version files were modified:"
echo -e "$BUMPED_FILES"
echo ""
echo "Version bumps should only be done in release PRs."
echo "Use a branch name starting with 'release/' for release PRs."
exit 1
fi
echo "✅ No version bumps detected - OK"
lint-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Ruff
uses: chartboost/ruff-action@v1
lock-check:
# Advisory check: warns (does not fail) if uv.lock has drifted from
# pyproject.toml or has been hand-edited. Surfaces stale locks early
# without blocking merges. Flip the `exit 0` at the bottom to `exit
# $STATUS` once the team is ready to enforce.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"
- name: Check uv.lock drift (advisory)
run: |
set +e
uv lock --check
STATUS=$?
set -e
if [ $STATUS -ne 0 ]; then
echo "::warning title=uv.lock drift detected::uv.lock is out of date relative to pyproject.toml, or has been hand-edited. Run \`uv lock\` locally and commit the result. This check is currently advisory and does not block merge."
else
echo "✓ uv.lock is in sync with pyproject.toml"
fi
exit 0
test-sandboxes:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"
- name: Install dependencies
working-directory: packages/prime-sandboxes
run: uv sync --all-extras
- name: Run tests
working-directory: packages/prime-sandboxes
env:
PRIME_API_KEY: ${{ secrets.PRIME_API_KEY }}
PRIME_TEAM_ID: ${{ secrets.PRIME_TEAM_ID }}
run: uv run pytest tests/ -v -n auto
test-prime:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"
- name: Install dependencies
working-directory: packages/prime
run: uv sync --all-extras
- name: Run tests with pytest
working-directory: packages/prime
env:
PRIME_API_KEY: ${{ secrets.PRIME_API_KEY }}
PRIME_TEAM_ID: ${{ secrets.PRIME_TEAM_ID }}
run: uv run pytest tests/ -v
type-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.11'
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"
- name: Install dependencies
working-directory: packages/prime
run: uv sync --all-extras
- name: Run ty type checker
working-directory: packages/prime
run: uv run ty check src/