name: ci on: push: branches: - master pull_request: branches: - '**' env: COVERAGE_OPTION: ./node_modules/.bin/nyc NODE_VERSION: 10 PARSE_SERVER_TEST_TIMEOUT: 20000 jobs: check-mongo: strategy: matrix: include: - name: Mongo 4.0.4, ReplicaSet, WiredTiger MONGODB_VERSION: 4.0.4 MONGODB_TOPOLOGY: replicaset MONGODB_STORAGE_ENGINE: wiredTiger NODE_VERSION: 10 - name: Mongo 3.6.21 MONGODB_VERSION: 3.6.21 NODE_VERSION: 10 - name: Redis Cache PARSE_SERVER_TEST_CACHE: redis NODE_VERSION: 10 - name: Node 12.12.0 NODE_VERSION: 12.12.0 name: ${{ matrix.name }} timeout-minutes: 30 runs-on: ubuntu-18.04 services: redis: image: redis ports: - 6379:6379 env: MONGODB_VERSION: ${{ matrix.MONGODB_VERSION }} MONGODB_TOPOLOGY: ${{ matrix.MONGODB_TOPOLOGY }} MONGODB_STORAGE_ENGINE: ${{ matrix.MONGODB_STORAGE_ENGINE }} PARSE_SERVER_TEST_CACHE: ${{ matrix.PARSE_SERVER_TEST_CACHE }} NODE_VERSION: ${{ matrix.NODE_VERSION }} steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.NODE_VERSION }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.NODE_VERSION }} - name: Cache Node.js modules uses: actions/cache@v2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}- - name: Install dependencies run: npm ci - if: ${{ matrix.name == 'Mongo 3.6.21' }} run: npm run lint - run: npm run pretest - run: npm run coverage env: CI: true - run: bash <(curl -s https://codecov.io/bash) check-postgres: name: Postgresql timeout-minutes: 30 runs-on: ubuntu-18.04 services: redis: image: redis ports: - 6379:6379 postgres: image: postgis/postgis:11-3.0 env: POSTGRES_PASSWORD: postgres ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 env: PARSE_SERVER_TEST_DB: postgres POSTGRES_MAJOR_VERSION: 11 PARSE_SERVER_TEST_DATABASE_URI: postgres://postgres:postgres@localhost:5432/parse_server_postgres_adapter_test_database steps: - uses: actions/checkout@v2 - name: Use Node.js 10 uses: actions/setup-node@v1 with: node-version: 10 - name: Cache Node.js modules uses: actions/cache@v2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}- - name: Install dependencies run: npm ci - run: bash scripts/before_script_postgres.sh - run: npm run coverage env: CI: true - run: bash <(curl -s https://codecov.io/bash)