diff --git a/.circleci/config.yml b/.circleci/config.yml index 17a126e90e..01386dc2f3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,49 +1,32 @@ -# Use the latest 2.1 version of CircleCI pipeline process engine. -# See: https://circleci.com/docs/2.0/configuration-reference version: 2.1 - -# Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects. -# See: https://circleci.com/docs/2.0/orb-intro/ orbs: - # The python orb contains a set of prepackaged CircleCI configuration you can use repeatedly in your configuration files - # Orb commands and jobs help you with common scripting around a language/tool - # so you dont have to copy and paste it everywhere. - # See the orb documentation here: https://circleci.com/developer/orbs/orb/circleci/python python: circleci/python@2.1.1 -# Define a job to be invoked later in a workflow. -# See: https://circleci.com/docs/2.0/configuration-reference/#jobs jobs: - build-and-test: # This is the name of the job, feel free to change it to better match what you're trying to do! - # These next lines defines a Docker executors: https://circleci.com/docs/2.0/executor-types/ - # You can specify an image from Dockerhub or use one of the convenience images from CircleCI's Developer Hub - # A list of available CircleCI Docker convenience images are available here: https://circleci.com/developer/images/image/cimg/python - # The executor is the environment in which the steps below will be executed - below will use a python 3.10.2 container - # Change the version below to your required version of python + build-and-test: docker: - - image: elasticsearch:7.10.1 - image: cimg/python:3.8.10 - # Checkout the code as the first step. This is a dedicated CircleCI step. - # The python orb's install-packages step will install the dependencies from a Pipfile via Pipenv by default. - # Here we're making sure we use just use the system-wide pip. By default it uses the project root's requirements.txt. - # Then run your tests! - # CircleCI will report the results back to your VCS provider. - #executor: python/default + environment: + DOAJENV: test + - image: elasticsearch:7.10.1 + environment: + - xpack.security.enabled: false + - transport.host: localhost + - discovery.type: single-node steps: - checkout + - run: git submodule update --init --recursive - python/install-packages: - pkg-manager: pip - args: test + pkg-manager: pip-dist + pip-dependency-file: setup.py + path-args: .[test] - run: | + echo "ELASTICSEARCH_HOSTS = [{'host': 'localhost', 'port': 9200}]" > test.cfg python portality/cms/build_fragments.py python portality/cms/build_sass.py - echo "ELASTIC_SEARCH_HOST = \"http://localhost:9200\"" > dev.cfg pytest -v --color=yes --code-highlight=yes --log-level=DEBUG doajtest/unit -# Invoke jobs via workflows -# See: https://circleci.com/docs/2.0/configuration-reference/#workflows workflows: - sample: # This is the name of the workflow, feel free to change it to better match your workflow. - # Inside the workflow, you define the jobs you want to run. + unit_tests: jobs: - build-and-test \ No newline at end of file diff --git a/.python-version b/.python-version index 548d71365f..8137a6c16c 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.7 \ No newline at end of file +3.8.10 \ No newline at end of file diff --git a/setup.py b/setup.py index f84c3813d3..d38c6f6e5d 100644 --- a/setup.py +++ b/setup.py @@ -55,7 +55,7 @@ "flask-swagger @ git+https://github.com/DOAJ/flask-swagger.git@f1dbf918d9903a588eed3cce2a87eeccc9f8cc0e#egg=flask-swagger" ] + (["setproctitle==1.1.10"] if "linux" in sys.platform else []), extras_require={ - "test": ["pytest", "pytest-cov", "pytest-xdist", "selenium", + "test": ["pytest", "pytest-cov", "pytest-xdist", "selenium==3.141", # prevent backtracking through all versions "combinatrix @ git+https://github.com/CottageLabs/combinatrix.git@740d255f0050d53a20324df41c08981499bb292c#egg=combinatrix"], "docs": [ "featuremap @ git+https://github.com/CottageLabs/FeatureMap.git@cb52c345b942e50726767b1a7190f1a01b81e722#egg=featuremap",