Only run shared tables tests if database library version changed compared to base

This commit is contained in:
Jake Barnby
2025-02-11 22:26:39 +13:00
parent 2902b1bde8
commit abaa5c7f48
+29 -3
View File
@@ -11,6 +11,30 @@ env:
on: [pull_request]
jobs:
check_database_changes:
name: Check if utopia-php/database changed
runs-on: ubuntu-latest
outputs:
database_changed: ${{ steps.check.outputs.database_changed }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Fetch base branch
run: git fetch origin ${{ github.event.pull_request.base.ref }}
- name: Check for utopia-php/database changes
id: check
run: |
if git diff origin/${{ github.event.pull_request.base.ref }} HEAD -- composer.lock | grep -q '"name": "utopia-php/database"'; then
echo "Database version changed, going to run all mode tests."
echo "database_changed=true" >> "$GITHUB_ENV"
echo "database_changed=true" >> "$GITHUB_OUTPUT"
else
echo "database_changed=false" >> "$GITHUB_ENV"
echo "database_changed=false" >> "$GITHUB_OUTPUT"
fi
setup:
name: Setup & Build Appwrite Image
runs-on: ubuntu-latest
@@ -102,7 +126,7 @@ jobs:
e2e_service_test:
name: E2E Service Test
runs-on: ubuntu-latest
needs: setup
needs: [setup, check_database_changes]
strategy:
fail-fast: false
matrix:
@@ -151,6 +175,8 @@ jobs:
sleep 30
- name: Run ${{ matrix.service }} tests with ${{ matrix.tables-mode }} table mode
if: |
matrix.tables-mode == 'Project' || needs.check_database_changes.outputs.database_changed == 'true'
run: |
if [ "${{ matrix.tables-mode }}" == "Shared V1" ]; then
echo "Using shared tables V1"
@@ -165,7 +191,7 @@ jobs:
export _APP_DATABASE_SHARED_TABLES=
export _APP_DATABASE_SHARED_TABLES_V1=
fi
docker compose exec -T \
-e _APP_DATABASE_SHARED_TABLES \
-e _APP_DATABASE_SHARED_TABLES_V1 \
@@ -251,4 +277,4 @@ jobs:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body-path: benchmark.txt
edit-mode: replace
edit-mode: replace