Skip to content

update github actions #2764

update github actions

update github actions #2764

Workflow file for this run

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