DevOps - implement templating with DRY in test pipelines
Refactor gitlab yml files in order to run DRY (to avoid code duplicates)
Stages:
-
- create templates and check in elife/ncrc firefox tests -
- refactor aperture/elife/ncrc chrome tests and check
templates implementation:
.test_template: &run_test_template
image: $IMAGE_ORG/$IMAGE_NAME-dev:$CI_COMMIT_SHA
stage: test
variables:
GIT_STRATEGY: none
services:
- postgres
.test_before_script: &run_test_before_script
- apt-get update
- apt-get -y install postgresql-client
- psql -h postgres -U kotahidev -d kotahidev -c "create extension pgcrypto;"
.test_script: &run_test_script
- cd ${HOME}
- cp .env.example .env
- POSTGRES_HOST=postgres yarn test:all:$TEST_ITEM
test-firefox:
before_script:
- *run_test_before_script
<<: *run_test_template
variables:
TEST_ITEM: "firefox:ncrc"
script:
- *run_test_script
test-firefox-samsung:
before_script:
- *run_test_before_script
<<: *run_test_template
variables:
TEST_ITEM: "firefox:ncrc:samsung"
script:
- *run_test_script
...
sources: