Cloudlog/.github/workflows/cypress-tests.yml
2024-10-30 16:40:35 +00:00

61 lines
1.5 KiB
YAML

name: Cypress Tests
on: [pull_request, workflow_dispatch]
jobs:
cypress-e2e-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Cache Node modules
uses: actions/cache@v3
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}
restore-keys: |
npm-
- name: Install dependencies
run: npm install
- name: Cache Cypress
uses: actions/cache@v3
with:
path: ~/.cache/Cypress
key: cypress-${{ hashFiles('package-lock.json') }}
restore-keys: |
cypress-
- name: Install Cypress
run: npm install cypress
- name: Cache .env
uses: actions/cache@v3
with:
path: .env
key: .env-${{ hashFiles('.env.sample') }}
restore-keys: |
.env-
- name: Setup .env
run: |
if [ ! -f .env ]; then
cp .env.sample .env
fi
- name: Build Docker services
run: docker-compose up -d
- name: Wait for services to start
run: |
for i in `seq 1 30`; do
curl -s http://localhost:80 > /dev/null && break
echo "Waiting for services to start..."
sleep 5
done
- name: Populate dxcc_entities table
run: curl "http://localhost/index.php/update/dxcc"
- name: Run Cypress tests
run: npx cypress run