From d52212e8db1e89265af56902b57c8c9ea63668b7 Mon Sep 17 00:00:00 2001 From: Vahagn Date: Thu, 19 Feb 2026 18:49:08 +0400 Subject: [PATCH 1/2] Add CI workflow for affected Turborepo tests --- .github/workflows/ci-tests.yml | 59 ++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .github/workflows/ci-tests.yml diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml new file mode 100644 index 0000000..9d10ee1 --- /dev/null +++ b/.github/workflows/ci-tests.yml @@ -0,0 +1,59 @@ +name: CI Tests + +on: + pull_request: + push: + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Resolve Turborepo base/head SHAs + id: turbo_refs + env: + EVENT_NAME: ${{ github.event_name }} + DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} + PR_BASE_SHA: ${{ github.event.pull_request.base.sha }} + PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} + PUSH_BEFORE_SHA: ${{ github.event.before }} + CURRENT_SHA: ${{ github.sha }} + run: | + if [ "$EVENT_NAME" = "pull_request" ]; then + base="$PR_BASE_SHA" + head="$PR_HEAD_SHA" + else + head="$CURRENT_SHA" + if [ -n "$PUSH_BEFORE_SHA" ] && [ "$PUSH_BEFORE_SHA" != "0000000000000000000000000000000000000000" ]; then + base="$PUSH_BEFORE_SHA" + else + git fetch origin "$DEFAULT_BRANCH" --depth=1 + base="$(git merge-base HEAD "origin/$DEFAULT_BRANCH")" + fi + fi + + if [ -z "$base" ]; then + base="$(git rev-list --max-parents=0 HEAD | tail -n 1)" + fi + + echo "base=$base" >> "$GITHUB_OUTPUT" + echo "head=$head" >> "$GITHUB_OUTPUT" + echo "Using TURBO_SCM_BASE=$base" + echo "Using TURBO_SCM_HEAD=$head" + + - name: Run affected tests + env: + TURBO_SCM_BASE: ${{ steps.turbo_refs.outputs.base }} + TURBO_SCM_HEAD: ${{ steps.turbo_refs.outputs.head }} + run: bun run test -- --affected From eb32ed1d87552169a20f545f98f4e5ac28f7a985 Mon Sep 17 00:00:00 2001 From: Vahagn Date: Thu, 19 Feb 2026 18:50:13 +0400 Subject: [PATCH 2/2] Fix base SHA fallback for new branch pushes --- .github/workflows/ci-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 9d10ee1..ac29090 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -38,8 +38,8 @@ jobs: if [ -n "$PUSH_BEFORE_SHA" ] && [ "$PUSH_BEFORE_SHA" != "0000000000000000000000000000000000000000" ]; then base="$PUSH_BEFORE_SHA" else - git fetch origin "$DEFAULT_BRANCH" --depth=1 - base="$(git merge-base HEAD "origin/$DEFAULT_BRANCH")" + git fetch origin "$DEFAULT_BRANCH" + base="$(git merge-base HEAD "origin/$DEFAULT_BRANCH" || true)" fi fi