Skip to content

Commit

Permalink
CircleCI configuration file for DOAJ
Browse files Browse the repository at this point in the history
  • Loading branch information
Steven-Eardley committed Feb 28, 2023
1 parent 31dc1b9 commit cd6a8af
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 33 deletions.
45 changes: 14 additions & 31 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -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/[email protected]

# 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
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.7
3.8.10
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down

0 comments on commit cd6a8af

Please sign in to comment.