Try fixing silent E2E test failures by tweaking limits #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: End-to-End Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'destination-surrealdb/**' | |
| - '.devcontainer/**' | |
| - 'scripts/e2e-test.sh' | |
| - '.github/workflows/e2e.yml' | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - 'destination-surrealdb/**' | |
| - '.devcontainer/**' | |
| - 'scripts/e2e-test.sh' | |
| - '.github/workflows/e2e.yml' | |
| jobs: | |
| e2e-tests: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 35 | |
| permissions: | |
| contents: read | |
| packages: read | |
| strategy: | |
| matrix: | |
| # Test with different SurrealDB versions | |
| surrealdb-version: ["v3.0.0-alpha.5", "v2.3.3", "v2.2.3"] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Configure system limits for dagger | |
| run: | | |
| echo "Current system limits:" | |
| echo " inotify max_user_instances: $(cat /proc/sys/fs/inotify/max_user_instances)" | |
| echo " inotify max_user_watches: $(cat /proc/sys/fs/inotify/max_user_watches)" | |
| echo " ulimit -n: $(ulimit -n)" | |
| echo "Configuring system limits for better dagger performance..." | |
| echo fs.inotify.max_user_instances=8192 | sudo tee -a /etc/sysctl.conf | |
| echo fs.inotify.max_user_watches=1048576 | sudo tee -a /etc/sysctl.conf | |
| sudo sysctl -p | |
| - name: Run end-to-end tests in dev container | |
| timeout-minutes: 30 | |
| uses: devcontainers/ci@v0.3 | |
| with: | |
| subFolder: . | |
| env: | | |
| SURREALDB_VERSION=${{ matrix.surrealdb-version }} | |
| TIMEOUT_SECONDS=${{ github.event.inputs.timeout_seconds || '1200' }} | |
| runCmd: | | |
| echo "=== Starting End-to-End Test ===" | |
| echo "SurrealDB version: $SURREALDB_VERSION" | |
| echo "Timeout: $TIMEOUT_SECONDS seconds" | |
| echo "=== Environment Information ===" | |
| echo "Container environment:" | |
| echo " Available memory: $(free -h)" | |
| echo " Available disk space: $(df -h /)" | |
| echo " Docker version: $(docker --version)" | |
| echo " System limits:" | |
| echo " ulimit -n: $(ulimit -n)" | |
| echo " inotify instances: $(cat /proc/sys/fs/inotify/max_user_instances 2>/dev/null || echo 'unavailable')" | |
| echo " inotify watches: $(cat /proc/sys/fs/inotify/max_user_watches 2>/dev/null || echo 'unavailable')" | |
| echo "=== Running end-to-end test ===" | |
| # Run the end-to-end test script | |
| ./scripts/e2e-test.sh | |
| push: never |