Rupesin virittelemään GitHub Actionsia end-to-end-testien ajamiseen. Mulla on siis node backend and React frontend. Teen end-to-end testit Cypress-frameworkilla. Jotta saisin testit toimimaan, täytyy CI-ympäristön suorittaa suunnilleen seuraavat vaiheet:
Tässä tämän hetkinen yaml-koodi:
Nyt tuo action jää jumiin vaiheeseen 2. Serveri käynnistyy, mutta action jää jumiin siihen vaiheeseen ilman mitään virheilmoitusta. Mun täytyy peruuttaa action manuaalisesti, muuten se jää vaan jumiin määrittelemättömäksi ajaksi (timeout on vissiin 6h). npm start:ci ajaa NODE_ENV=test node server.js -komennon, joka siis vaan käynnistää serverin test-ympäristöön.
Osaako joku sanoa mitä teen väärin?
- Asenna node
- Käynnistä servu
- Asenna cypress
- Käynnistä development-servu
- Aja cypress-testit
Tässä tämän hetkinen yaml-koodi:
Koodi:
name: End-to-end tests
on: [push, pull_request]
jobs:
cypress-run:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Use Node.js
uses: actions/setup-node@v1
- run: |
npm install
npm run start:ci
working-directory: backend
env:
TEST_MONGODB_URI: ${{ secrets.TEST_MONGODB_URI }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
RECAPTCHA_SECRET_TEST: ${{ secrets.RECAPTCHA_SECRET_TEST }}
- name: Cypress run
uses: cypress-io/github-action@v1
with:
working-directory: frontend
config-file: frontend/cypress.json
start: npm run start
wait-on: http://localhost:3000
Nyt tuo action jää jumiin vaiheeseen 2. Serveri käynnistyy, mutta action jää jumiin siihen vaiheeseen ilman mitään virheilmoitusta. Mun täytyy peruuttaa action manuaalisesti, muuten se jää vaan jumiin määrittelemättömäksi ajaksi (timeout on vissiin 6h). npm start:ci ajaa NODE_ENV=test node server.js -komennon, joka siis vaan käynnistää serverin test-ympäristöön.
Osaako joku sanoa mitä teen väärin?