name: MongoengineCI on: push: branches: - master - /^v.*$/ pull_request: env: MONGODB_3_4: 3.4.19 MONGODB_3_6: 3.6.13 MONGODB_4_0: 4.0.13 PYMONGO_3_4: 3.4 PYMONGO_3_6: 3.6 PYMONGO_3_9: 3.9 PYMONGO_3_11: 3.11 MAIN_PYTHON_VERSION: 3.7 jobs: linting: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - run: bash .github/workflows/install_ci_python_dep.sh - run: pre-commit run -a test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [3.6] #, 3.7, 3.8, 3.9, pypy3] MONGODB: [$MONGODB_4_0] PYMONGO: [$PYMONGO_3_11] include: - python-version: 3.7 MONGODB: $MONGODB_3_4 PYMONGO: $PYMONGO_3_6 - python-version: 3.7 MONGODB: $MONGODB_3_6 PYMONGO: $PYMONGO_3_9 - python-version: 3.7 MONGODB: $MONGODB_3_6 PYMONGO: $PYMONGO_3_11 steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - run: bash .github/workflows/install_mongo.sh ${{ matrix.MONGODB }} - run: bash .github/workflows/install_ci_python_dep.sh - run: bash .github/workflows/start_mongo.sh ${{ matrix.MONGODB }} - name: tox dry-run (to pre-install venv) run: tox -e $(echo py${{ matrix.python-version }}-mg${{ matrix.PYMONGO }} | tr -d . | sed -e 's/pypypy/pypy/') -- -a "-k=test_ci_placeholder" - name: Run test suite run: tox -e $(echo py${{ matrix.python-version }}-mg${{ matrix.PYMONGO }} | tr -d . | sed -e 's/pypypy/pypy/') -- -a "--cov=mongoengine" irc_notification: runs-on: ubuntu-latest needs: [linting, test] steps: - uses: rectalogic/notify-irc@v1 if: success() with: channel: "irc.freenode.org#mongoengine" nickname: github-notifier message: | Build ${{ job.status }} - ${{ github.actor }} ${{ github.event_name }} ${{ github.event.ref }} build-wheel: runs-on: ubuntu-latest needs: [linting, test] steps: - uses: actions/checkout@master - name: Set up Python 3.7 uses: actions/setup-python@v1 with: python-version: 3.7 - run: pip install wheel - run: python setup.py sdist bdist_wheel