bugsnag/bugsnag-js

View on GitHub
docker-compose.yml

Summary

Maintainability
Test Coverage
version: '3.6'

x-common-environment: &common-environment
  BUILDKITE:
  BUILDKITE_BRANCH:
  BUILDKITE_BUILD_CREATOR:
  BUILDKITE_BUILD_NUMBER:
  BUILDKITE_BUILD_URL:
  BUILDKITE_JOB_ID:
  BUILDKITE_LABEL:
  BUILDKITE_MESSAGE:
  BUILDKITE_PIPELINE_NAME:
  BUILDKITE_PIPELINE_SLUG:
  BUILDKITE_REPO:
  BUILDKITE_RETRY_COUNT:
  BUILDKITE_STEP_KEY:
  MAZE_BUGSNAG_API_KEY:
  DEBUG:
  BROWSER_STACK_USERNAME:
  BROWSER_STACK_ACCESS_KEY:
  BROWSER_STACK_BROWSERS_USERNAME:
  BROWSER_STACK_BROWSERS_ACCESS_KEY:
  BROWSER_STACK_DEVICES_USERNAME:
  BROWSER_STACK_DEVICES_ACCESS_KEY:
  SKIP_NAVIGATION_SCENARIOS:
  MAZE_SCENARIO_BUGSNAG_API_KEY:
  RCT_NEW_ARCH_ENABLED:

services:
  minimal-packager:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.package
    volumes:
      - .:/app/build

  ci:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.ci

  browser-maze-runner-bb:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.browser
      target: browser-maze-runner
      args:
        - BUILDKITE_BUILD_NUMBER
    environment:
      <<: *common-environment
      BITBAR_USERNAME:
      BITBAR_ACCESS_KEY:
      HOST: "${HOST:-maze-runner}"
      API_HOST: "${API_HOST:-maze-runner}"
    env_file:
      - ${DOCKER_ENV_FILE:-test/browser/features/fixtures/null_env}
    networks:
      default:
        aliases:
          - maze-runner
    ports:
      - "9000-9499:9339"
      - "9000-9499:9340"
    volumes:
      - ./test/browser/maze_output:/app/test/browser/maze_output
      - /var/run/docker.sock:/var/run/docker.sock

  browser-maze-runner-bs:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.browser
      target: browser-maze-runner
      args:
        - BUILDKITE_BUILD_NUMBER
    environment:
      <<: *common-environment
      HOST: "${HOST:-maze-runner}"
      API_HOST: "${API_HOST:-maze-runner}"
    env_file:
      - ${DOCKER_ENV_FILE:-test/browser/features/fixtures/null_env}
    networks:
      default:
        aliases:
          - maze-runner
    volumes:
      - ./test/browser/maze_output:/app/test/browser/maze_output

  node-maze-runner:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.node
      target: node-maze-runner
    command: --fail-fast --retry 2
    environment:
      <<: *common-environment
      NODE_VERSION: "${NODE_VERSION:-10}"
      COMPOSE_PROJECT_NAME: "node${NODE_VERSION:-10}"
      NETWORK_NAME: "${BUILDKITE_JOB_ID:-js-maze-runner}"
      DEBUG:
    networks:
      default:
        aliases:
          - maze-runner
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

  android-builder-base-java-11:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.android-builder-base-java-11

  react-native-android-builder-java-11-node-16:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.react-native-android-builder-java-11-node-16
      args:
        - REGISTRY_URL
        - REG_BASIC_CREDENTIAL
        - REG_NPM_EMAIL
        - MAVEN_REPO_URL
    environment:
      - DEBUG
      - BRANCH_NAME
      - BUILDKITE
      - REGISTRY_URL
      - REACT_NATIVE_VERSION
      - RN_NEW_ARCH
      - NOTIFIER_VERSION
      - ARTEFACT_NAME
      - JS_SOURCE_DIR
    networks:
      default:
        aliases:
          - maze-runner
    volumes:
      - ./build:/app/build
      - ./test:/app/test
      - ./features:/app/features

  react-native-cli-tool-maze-runner:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.react-native-cli-tool
    environment:
      <<: *common-environment
      REACT_NATIVE_VERSION:
      NETWORK_NAME: "${BUILDKITE_JOB_ID:-react-native-cli-maze-runner}"
    networks:
      default:
        aliases:
          - maze-runner
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./test/react-native-cli/maze_output:/app/maze_output

  react-native-cli-android-builder:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.react-native-cli-android-builder
      args:
        - REGISTRY_URL
        - REG_BASIC_CREDENTIAL
        - REG_NPM_EMAIL
    environment:
      - VERBOSE
      - DEBUG
      - BRANCH_NAME
      - BUILDKITE
      - REGISTRY_URL
      - REACT_NATIVE_VERSION
      - MAVEN_REPO_URL
      - MAVEN_REPO_CREDS
      - NOTIFIER_VERSION
    networks:
      default:
        aliases:
          - maze-runner
    volumes:
      - ./build:/app/build
      - ./test:/app/test
      - ./test/react-native-cli/features/:/app/features

  react-native-maze-runner:
    image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli
    environment:
      <<: *common-environment
      BITBAR_USERNAME:
      BITBAR_ACCESS_KEY:
      HERMES:
      RN_VERSION:
    ports:
      - "9000-9499:9339"
    networks:
      default:
        aliases:
          - maze-runner
    volumes:
      - ./build:/app/build
      - ./test/react-native/features/:/app/features
      - ./test/react-native/maze_output:/app/maze_output
      - /var/run/docker.sock:/var/run/docker.sock

  react-native-cli-maze-runner:
    image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli
    environment:
      <<: *common-environment
      BITBAR_USERNAME:
      BITBAR_ACCESS_KEY:
      HERMES:
    ports:
      - "9000-9499:9339"
    networks:
      default:
        aliases:
          - maze-runner
    volumes:
      - ./build:/app/build
      - ./test/react-native-cli/features/:/app/features/
      - ./test/react-native-cli/maze_output:/app/maze_output
      - /var/run/docker.sock:/var/run/docker.sock

  release:
    build:
      context: .
      dockerfile: dockerfiles/Dockerfile.release
    environment:
      GITHUB_USER:
      GITHUB_ACCESS_TOKEN:
      RELEASE_BRANCH:
      RETRY_PUBLISH:
      FORCE_CDN_UPLOAD:
      AWS_ACCESS_KEY_ID:
      AWS_SESSION_TOKEN:
      AWS_SECRET_ACCESS_KEY:
      VERSION:
      DIST_TAG:
      PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
    volumes:
      - ~/.gitconfig:/home/releaser/.gitconfig
      - ~/.npmrc:/home/releaser/.npmrc

networks:
  default:
    name: ${BUILDKITE_JOB_ID:-js-maze-runner}