From 1aaaeaf6a2ff0ce0cd7126fada90da219b3a9958 Mon Sep 17 00:00:00 2001 From: Mojib Wali <44528277+mb-wali@users.noreply.github.com> Date: Fri, 29 Jan 2021 10:57:17 +0100 Subject: [PATCH] bugfix(tests): modified dep & gh --- .github/workflows/tests.yml | 47 +++++++++++++++++++++++++++++++------ setup.py | 31 ++++++++++++++---------- 2 files changed, 58 insertions(+), 20 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index dc2eccb..16586e9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,9 +20,42 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - python-version: [3.6, 3.7, 3.8] + python-version: [3.6, 3.7, 3.8, 3.9] requirements-level: [min, pypi] + db-service: [postgresql12] + search-service: [elasticsearch7] + exclude: + - python-version: 3.6 + requirements-level: pypi + - python-version: 3.7 + requirements-level: min + + - python-version: 3.8 + requirements-level: min + + - python-version: 3.9 + requirements-level: min + + - db-service: postgresql12 + requirements-level: min + + - search-service: elasticsearch7 + requirements-level: min + + include: + + - db-service: postgresql12 + DB_EXTRAS: "postgresql" + + + - search-service: elasticsearch7 + SEARCH_EXTRAS: "elasticsearch7" + + env: + DB: ${{ matrix.db-service }} + SEARCH: ${{ matrix.search-service }} + EXTRAS: all,${{ matrix.DB_EXTRAS }},${{ matrix.SEARCH_EXTRAS }} steps: - name: Checkout uses: actions/checkout@v2 @@ -35,8 +68,7 @@ jobs: - name: Generate dependencies run: | python -m pip install --upgrade pip setuptools py wheel requirements-builder - requirements-builder -e all --level=${{ matrix.requirements-level }} setup.py > .${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt - + requirements-builder -e "$EXTRAS" --level=${{ matrix.requirements-level }} setup.py > .${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt - name: Cache pip uses: actions/cache@v2 with: @@ -45,10 +77,11 @@ jobs: - name: Install dependencies run: | - pip install -r .${{matrix.requirements-level}}-${{ matrix.python-version }}-requirements.txt - pip install .[all] + pip install -r .${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt + pip install ".[$EXTRAS]" pip freeze - + docker --version + docker-compose --version - name: Run tests run: | - ./run-tests.sh \ No newline at end of file + ./run-tests.sh diff --git a/setup.py b/setup.py index 5530fb7..6f8ec08 100644 --- a/setup.py +++ b/setup.py @@ -18,27 +18,32 @@ history = open("CHANGES.rst").read() tests_require = [ "pytest-invenio>=1.4.0", "invenio-app>=1.3.0,<2.0.0", - "psycopg2-binary>=2.8.6", ] +# Should follow inveniosoftware/invenio versions +invenio_search_version = ">=1.4.0,<2.0.0" +invenio_db_version = ">=1.0.5,<2.0.0" + extras_require = { + "elasticsearch7": [f"invenio-search[elasticsearch7]{invenio_search_version}"], + "mysql": [f"invenio-db[mysql,versioning]{invenio_db_version}"], + "postgresql": [f"invenio-db[postgresql,versioning]{invenio_db_version}"], + "sqlite": [f"invenio-db[versioning]{invenio_db_version}"], "docs": [ "Sphinx>=3", ], - "mysql": [ - "invenio-db[mysql]>=1.0.0", - ], - "postgresql": [ - "invenio-db[postgresql]>=1.0.0", - ], - "sqlite": [ - "invenio-db>=1.0.0", - ], "tests": tests_require, } extras_require["all"] = [] -for reqs in extras_require.values(): +for name, reqs in extras_require.items(): + if name[0] == ":" or name in ( + "elasticsearch7", + "mysql", + "postgresql", + "sqlite", + ): + continue extras_require["all"].extend(reqs) setup_requires = [ @@ -52,9 +57,9 @@ install_requires = [ "invenio-assets>=1.2.0", "invenio-i18n>=1.2.0", "elasticsearch_dsl>=7.2.1", - "invenio_search>=1.3.1", + "invenio_search>=1.4.0,<2.0.0", + # keep this package updated. "invenio_app_rdm>=0.18.8", - "sqlalchemy-continuum>=1.3.11", ] packages = find_packages()