Skip to content

feat(replay-vision): API validation + lens_result row column #145205

feat(replay-vision): API validation + lens_result row column

feat(replay-vision): API validation + lens_result row column #145205

Workflow file for this run

name: Turbo CI
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
turbo-affected-4:
timeout-minutes: 30
name: Turbo Affected
runs-on: ${{ matrix.os }}
strategy:
matrix:
# os: [depot-ubuntu-22.04, depot-ubuntu-22.04-4]
os: [depot-ubuntu-22.04-4]
permissions:
contents: read
steps:
- name: Check out code
uses: actions/checkout@v6
with:
# Just fetch the current commit/PR head
fetch-depth: 1
- name: Detect architecture
if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }}
run: |
ARCH=$(uname -m)
echo "ARCH=$ARCH" >> $GITHUB_ENV
# Conditionally fetch the base branch so Turborepo can compare against it
- name: Fetch base branch
run: |
if [ "${{ github.event_name }}" = "pull_request" ]; then
# Try to fetch the base branch; fall back to master for Graphite virtual branches
# (e.g. graphite-base/49227) which don't exist as real remote refs
if git fetch origin refs/heads/${GITHUB_BASE_REF}:refs/heads/${GITHUB_BASE_REF} --depth=1 2>/dev/null; then
echo "TURBO_SCM_BASE=${GITHUB_BASE_REF}" >> $GITHUB_ENV
else
echo "::warning::Base branch ${GITHUB_BASE_REF} not found as remote ref, falling back to master"
git fetch origin refs/heads/master:refs/heads/master --depth=1
echo "TURBO_SCM_BASE=master" >> $GITHUB_ENV
fi
else
git fetch origin refs/heads/master:refs/heads/master --depth=1
echo "TURBO_SCM_BASE=master" >> $GITHUB_ENV
fi
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version-file: 'pyproject.toml'
- name: Install uv
id: setup-uv
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
with:
version: '0.10.2' # pinned: unpinned setup-uv calls GH API on every job, exhausts rate limit
enable-cache: true
cache-dependency-glob: uv.lock
- name: Install pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
- name: Set up Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version-file: .nvmrc
cache: 'pnpm'
- name: Run Python and Node setup in parallel
env:
UV_CACHE_HIT: ${{ steps.setup-uv.outputs.cache-hit }}
run: |
set -e
set -m
(
if [ "$UV_CACHE_HIT" != "true" ]; then
echo ">>> [Python] Installing SAML (python3-saml) dependencies..."
sudo apt-get update
sudo apt-get install -y libxml2-dev libxmlsec1 libxmlsec1-dev libxmlsec1-openssl
fi
echo ">>> [Python] Installing dependencies..."
UV_PROJECT_ENVIRONMENT=$pythonLocation uv sync --frozen --dev
) &
PY_PID=$!
(
echo ">>> [Node] Installing dependencies..."
pnpm install --frozen-lockfile --filter=@posthog/root
) &
NODE_PID=$!
wait -n || (echo ">>> One of the parallel tasks failed, killing the other..." && kill $PY_PID $NODE_PID 2>/dev/null && exit 1)
wait -n || (echo ">>> The second parallel task failed" && exit 1)
echo ">>> Both parallel tasks completed successfully!"
- name: Turbo Affected
run: |
bin/turbo build --affected --dry-run
env:
NODE_OPTIONS: --max-old-space-size=8192
TURBO_SCM_BASE: ${{ env.TURBO_SCM_BASE }}