I’ve read the multi machine docs and the new 1.0 pipelines guides, but I fail to set-up parallelization.
I basically have 3 services and one step.
services: - build app - redis - apache steps: - execute tests against apache
I want to add one more machine to run my tests in parallel.
So I tried splitting things in 3 with backend (redis + apache), frontend (my npm app build), and testing with
depends_on. But the apache always stops since no other tests are waiting for it. And of courseif I add a test to keep it running, the two other
depends_on pipelines does not starts since they’re supposed to start when the pipeline they depend on is done.
So, is there a way to keep a service running while executing separate steps simultaneously?
Ideally a setting like the
detach one but that does not ignore the exit code would be ideal!
Here is my current working single-machine test yml:
kind: pipeline name: cypress-end-to-end-testing services: # clone and build the app - name: build image: nextcloudci/node:node-4 commands: - npm ci - npm run build # redis server - name: redis image: redis # nextcloud server - name: server image: nextcloudci/server:server-10 environment: REDIS: redis commands: # Add app sources to the app directory - export BRANCH=$DRONE_TARGET_BRANCH - echo "Testing against $BRANCH" - ln -s /drone/src /var/www/html/apps/viewer - ls -lLa /var/www/html/apps/viewer - mkdir /var/www/html/data - chown -R www-data:www-data /var/www/html # Check avail free space for nextcloud - df -h /var/www/html/data # Install nextcloud, watch logs and run apache - bash /initnc.sh steps: - name: testing image: cypress/browsers:chrome69 environment: CYPRESS_RECORD_TOKEN: from_secret: cypress_record_token CYPRESS_baseUrl: http://server/index.php/ LOGIN: login commands: - WAIT_ON=$CYPRESS_baseUrl$LOGIN - $(npm bin)/cypress install - $(npm bin)/wait-on -i 500 -t 300000 $WAIT_ON - $(npm bin)/cypress run --record --key $CYPRESS_RECORD_TOKEN --parallel trigger: branch: - master - stable*
Thanks a lot!