update github actions #2764
Workflow file for this run
This file contains 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: E2E Tests | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- edge | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
jobs: | |
cypress-run: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and start Docker containers | |
run: | | |
docker compose -f docker-compose.yml -f docker-compose.test.yml --env-file test.env up -d --build | |
- name: Wait for application to be ready | |
run: | | |
timeout=300 | |
start_time=$(date +%s) | |
while true; do | |
response=$(curl -s -o /dev/null -w "%{http_code}" http://localhost/api/v3/testConnection) | |
if [ $response -eq 200 ]; then | |
echo "Application is ready!" | |
break | |
fi | |
current_time=$(date +%s) | |
elapsed=$((current_time - start_time)) | |
if [ $elapsed -ge $timeout ]; then | |
echo "Timeout waiting for application to be ready. Dumping logs:" | |
docker compose -f docker-compose.yml -f docker-compose.test.yml --env-file test.env logs | |
exit 1 | |
fi | |
sleep 5 | |
done | |
- name: Cypress Run | |
uses: cypress-io/github-action@v6 | |
with: | |
config: baseUrl=http://localhost | |
spec: cypress/e2e/!(third-party)/**/*.cy.js | |
working-directory: e2e | |
- name: Upload Cypress screenshots | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-screenshots | |
path: e2e/cypress/screenshots | |
- name: Upload Cypress videos | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-videos | |
path: e2e/cypress/videos | |
- name: Stop Docker containers | |
if: always() | |
run: docker compose -f docker-compose.yml -f docker-compose.test.yml --env-file test.env down |