diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..55e0237 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,39 @@ +name: Test +on: + pull_request: + push: +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + node: [16, 18, 20] + os: [ubuntu-20.04] + include: + - os: ubuntu-20.04 + mongo-os: ubuntu2004 + mongo: 5.0.2 + name: Node ${{ matrix.node }} MongoDB ${{ matrix.mongo }} + steps: + - uses: actions/checkout@v2 + + - name: Setup node + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node }} + + - run: npm install + + - name: Setup + run: | + wget -q https://downloads.mongodb.org/linux/mongodb-linux-x86_64-${{ matrix.mongo-os }}-${{ matrix.mongo }}.tgz + tar xf mongodb-linux-x86_64-${{ matrix.mongo-os }}-${{ matrix.mongo }}.tgz + mkdir -p ./data/db/27017 ./data/db/27000 + printf "\n--timeout 8000" >> ./test/mocha.opts + ./mongodb-linux-x86_64-${{ matrix.mongo-os }}-${{ matrix.mongo }}/bin/mongod --fork --dbpath ./data/db/27017 --syslog --port 27017 + sleep 2 + mongod --version + echo `pwd`/mongodb-linux-x86_64-${{ matrix.mongo-os }}-${{ matrix.mongo }}/bin >> $GITHUB_PATH + + - run: npm test