Skip to content

REP-5306 Migrate integration tests to use externally-provisioned clusters. #237

REP-5306 Migrate integration tests to use externally-provisioned clusters.

REP-5306 Migrate integration tests to use externally-provisioned clusters. #237

Workflow file for this run

on:
push:
branches:
- '*'
tags-ignore:
- '*'
pull_request:
jobs:
basics:
strategy:
fail-fast: false
matrix:
mongodb_versions:
- [ '4.2', '4.2' ]
- [ '4.2', '4.4' ]
- [ '4.2', '5.0' ]
- [ '4.2', '6.0' ]
- [ '4.4', '4.4' ]
- [ '4.4', '5.0' ]
- [ '4.4', '6.0' ]
- [ '5.0', '5.0' ]
- [ '5.0', '6.0' ]
- [ '5.0', '7.0' ]
- [ '6.0', '6.0' ]
- [ '6.0', '7.0' ]
- [ '6.0', '8.0' ]
- [ '7.0', '7.0' ]
- [ '7.0', '8.0' ]
- [ '8.0', '8.0' ]
topology:
- name: replset
srcConnStr: mongodb://localhost:27020,localhost:27021,localhost:27022
dstConnStr: mongodb://localhost:27030,localhost:27031,localhost:27032
- name: sharded
args: --sharded 2
srcConnStr: mongodb://localhost:27020
dstConnStr: mongodb://localhost:27030
# There seems no good reason to test on other OSes … ?
runs-on: ubuntu-latest
steps:
- name: Install packages
run: ${{ matrix.os.setup }}
- name: Install m
run: npm install -g m mongosh
- name: Install MongoDB ${{ matrix.mongodb_versions.0 }} (source)

Check failure on line 57 in .github/workflows/all.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/all.yml

Invalid workflow file

The workflow is not valid. .github/workflows/all.yml (Line: 57, Col: 15): Unexpected symbol: '0'. Located at position 25 within expression: matrix.mongodb_versions.0 .github/workflows/all.yml (Line: 58, Col: 14): Unexpected symbol: '0'. Located at position 25 within expression: matrix.mongodb_versions.0
run: yes | m ${{ matrix.mongodb_versions.0 }} && dirname $(readlink $(which mongod)) > .srcpath
- name: Install MongoDB ${{ matrix.mongodb_versions.1 }} (destination)
run: yes | m ${{ matrix.mongodb_versions.1 }} && dirname $(readlink $(which mongod)) > .dstpath
- name: Install latest stable MongoDB (metadata)
run: yes | m stable && dirname $(readlink $(which mongod)) > .metapath
- name: Install mtools
run: pipx install 'mtools[all]'
- name: Check out repository
uses: actions/checkout@v4
- name: Fetch Go ${{ matrix.go_version }}
uses: actions/setup-go@v5
with:
go-version: stable
- name: Build
run: go build main/migration_verifier.go
- name: Start clusters
run: |-
{
echo "mlaunch init --binarypath $(cat .srcpath) --port 27020 --dir src --replicaset ${{ matrix.topology.args }}"
echo "mlaunch init --binarypath $(cat .dstpath) --port 27030 --dir dst --replicaset ${{ matrix.topology.args }}"
echo "mlaunch init --binarypath $(cat .metapath) --port 27040 --dir meta --replicaset --nodes 1"
} | parallel
- name: Test
run: go test -v ./...
env:
MVTEST_SRC: ${{matrix.topology.srcConnStr}}
MVTEST_DST: ${{matrix.topology.dstConnStr}}
MVTEST_META: mongodb://localhost:27040