version: '3.8'

x-node: &node
  tty: true
  volumes:
    - type: bind
      source: .
      target: /app
  working_dir: /app
  command: npm run test

services:
  lint:
    image: github/super-linter:v3
    volumes:
      - ./:/tmp/lint
    environment:
      RUN_LOCAL: 'true'
      MULTI_STATUS: 'false'

  test:
    <<: *node
    image: node:alpine
    # command: npm run test:coverage
    depends_on:
      - node10
      - node12
      - node13
      - node14

  node10:
    <<: *node
    image: node:10-alpine

  node12:
    <<: *node
    image: node:12-alpine

  node13:
    <<: *node
    image: node:13-alpine

  node14:
    <<: *node
    image: node:14-alpine
