Skip to content

refactor(test): consolidate testing infrastructure with Docker Compose #1

refactor(test): consolidate testing infrastructure with Docker Compose

refactor(test): consolidate testing infrastructure with Docker Compose #1

name: Integration Tests - Extensions
on:
push:
branches:
- main
pull_request:
types:
- opened
- reopened
- synchronize
jobs:
# Detect which extensions changed
detect-changes:
runs-on: ubuntu-latest
outputs:
counter: ${{ steps.filter.outputs.counter }}
queue: ${{ steps.filter.outputs.queue }}
storage: ${{ steps.filter.outputs.storage }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
counter:
- 'extension/counter/**'
- 'test/integration/extensions/counter/**'
- 'entity/**'
queue:
- 'extension/queue/**'
- 'test/integration/extensions/queue/**'
- 'entity/**'
storage:
- 'extension/storage/**'
- 'test/integration/extensions/storage/**'
- 'entity/**'
# Counter extension tests
test-counter:
needs: detect-changes
if: needs.detect-changes.outputs.counter == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run counter extension tests
run: ./tool/bazel test //test/integration/extensions/counter/... --test_output=errors
- name: Display container logs on failure
if: failure()
run: |
echo "=== Listing all Docker containers ==="
docker ps -a --filter "name=sq-test-" || true
echo ""
echo "=== Dumping container logs ==="
for container in $(docker ps -a --filter "name=sq-test-" --format "{{.Names}}"); do
echo ">>> Logs for $container <<<"
docker logs "$container" 2>&1 || true
echo ""
done
# Queue extension tests
test-queue:
needs: detect-changes
if: needs.detect-changes.outputs.queue == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run queue extension tests
run: ./tool/bazel test //test/integration/extensions/queue/... --test_output=errors
- name: Display container logs on failure
if: failure()
run: |
echo "=== Listing all Docker containers ==="
docker ps -a --filter "name=sq-test-" || true
echo ""
echo "=== Dumping container logs ==="
for container in $(docker ps -a --filter "name=sq-test-" --format "{{.Names}}"); do
echo ">>> Logs for $container <<<"
docker logs "$container" 2>&1 || true
echo ""
done
# Storage extension tests
test-storage:
needs: detect-changes
if: needs.detect-changes.outputs.storage == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run storage extension tests
run: ./tool/bazel test //test/integration/extensions/storage/... --test_output=errors
- name: Display container logs on failure
if: failure()
run: |
echo "=== Listing all Docker containers ==="
docker ps -a --filter "name=sq-test-" || true
echo ""
echo "=== Dumping container logs ==="
for container in $(docker ps -a --filter "name=sq-test-" --format "{{.Names}}"); do
echo ">>> Logs for $container <<<"
docker logs "$container" 2>&1 || true
echo ""
done