Update pylint requirement from ~=3.2 to ~=3.3 #785
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: CI - Tests | |
on: | |
pull_request: | |
push: | |
branches: | |
- develop | |
- push-action/** | |
jobs: | |
pre-commit: | |
runs-on: ubuntu-latest | |
timeout-minutes: 2 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -U setuptools | |
while IFS="" read -r line || [ -n "${line}" ]; do | |
if [[ "${line}" =~ ^pre-commit.*$ ]]; then | |
pre_commit="${line}" | |
fi | |
done < requirements_dev.txt | |
pip install ${pre_commit} | |
- name: Test with pre-commit | |
run: SKIP=codecov-validator pre-commit run --all-files --show-diff-on-failure | |
pytest: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.9', '3.10', '3.11'] | |
services: | |
mongo: | |
image: mongo:4 | |
ports: | |
- 27017:27017 | |
postgres: | |
image: postgres:12 | |
env: | |
POSTGRES_DB: test_psql_dos | |
POSTGRES_PASSWORD: test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
env: | |
AIIDA_TEST_BACKEND: core.psql_dos | |
AIIDA_TEST_PROFILE: test_psql_dos | |
AIIDA_PROFILE: test_psql_dos | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: Set up Python ${{ matrix.python-version}} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version}} | |
- name: Install python dependencies | |
run: | | |
python -m pip install -U pip | |
pip install -U setuptools | |
pip install -e .[testing] | |
- name: Setup up environment for AiiDA | |
run: .github/aiida/setup_aiida.sh | |
- name: Test with pytest (AiiDA) | |
run: pytest -v --cov=./aiida_optimade/ --cov-report=xml --durations=20 | |
- name: Test with pytest (Data Curation) | |
env: | |
PYTEST_OPTIMADE_CONFIG_FILE: ./tests/static/test_data_curation_config.json | |
run: pytest -v --cov=./aiida_optimade/ --cov-report=xml --cov-append --durations=20 tests/server/routers/test_structures.py::test_structures_endpoint_data | |
- name: Test with pytest (MongoDB) | |
env: | |
PYTEST_OPTIMADE_CONFIG_FILE: ./tests/static/test_mongo_config.json | |
OPTIMADE_MONGO_URI: mongodb://localhost:27017 | |
OPTIMADE_DATABASE_BACKEND: mongodb | |
run: pytest -v --cov=./aiida_optimade/ --cov-report=xml:mongo_cov.xml --durations=20 | |
- name: Upload coverage to Codecov | |
if: matrix.python-version == 3.9 | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: aiida | |
file: ./coverage.xml | |
- name: Upload coverage to Codecov | |
if: matrix.python-version == 3.9 | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: mongo | |
file: ./mongo_cov.xml | |
docker: | |
runs-on: ubuntu-latest | |
timeout-minutes: 14 | |
strategy: | |
fail-fast: false | |
matrix: | |
database: [aiida, mongo] | |
services: | |
mongo: | |
image: mongo:4 | |
ports: | |
- 27017:27017 | |
postgres: | |
image: postgres:12 | |
env: | |
POSTGRES_DB: test_psql_dos | |
POSTGRES_PASSWORD: test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -U setuptools | |
while IFS="" read -r line || [ -n "${line}" ]; do | |
if [[ "${line}" =~ ^aiida-core.*$ ]]; then | |
aiida_core="${line}" | |
fi | |
done < requirements.txt | |
pip install ${aiida_core} | |
pip install pymongo | |
- name: Setup up environment for AiiDA | |
env: | |
AIIDA_TEST_BACKEND: core.psql_dos | |
run: .github/aiida/setup_aiida.sh | |
- name: Load test data | |
run: | | |
if [ "${{ matrix.database }}" == "aiida" ]; then | |
verdi archive import --migration .github/aiida/optimade.aiida | |
else | |
.github/mongo/load_data.py | |
fi | |
- name: Build docker image | |
if: matrix.database == 'mongo' | |
run: docker-compose -f profiles/docker-compose.yml build --build-arg CONFIG_FILE=".github/mongo/ci_config.json" | |
- name: Start the Docker image | |
env: | |
AIIDA_OPTIMADE_LOG_LEVEL: DEBUG | |
run: | | |
export DOCKER_HOST_IP=$(ip route | grep docker0 | awk '{print $9}') | |
docker-compose -f profiles/docker-compose.yml up & | |
.github/utils/wait_for_it.sh localhost:3253 -t 360 | |
sleep 15 | |
- name: Test server with OPTIMADE Validator | |
uses: Materials-Consortia/optimade-validator-action@v2 | |
with: | |
port: 3253 | |
all versioned paths: yes | |
validate unversioned path: yes | |
validator version: latest | |
docker-mongo: | |
runs-on: ubuntu-latest | |
timeout-minutes: 14 | |
services: | |
postgres: | |
image: postgres:12 | |
env: | |
POSTGRES_DB: test_psql_dos | |
POSTGRES_PASSWORD: test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -U setuptools | |
while IFS="" read -r line || [ -n "${line}" ]; do | |
if [[ "${line}" =~ ^aiida-core.*$ ]]; then | |
aiida_core="${line}" | |
fi | |
done < requirements.txt | |
pip install ${aiida_core} | |
- name: Setup up environment for AiiDA | |
env: | |
AIIDA_TEST_BACKEND: core.psql_dos | |
run: .github/aiida/setup_aiida.sh | |
- name: Load test data (AiiDA) | |
run: verdi archive import --migration .github/aiida/optimade.aiida | |
- name: Build docker image | |
run: docker-compose -f profiles/docker-compose-mongo.yml build --build-arg CONFIG_FILE=".github/mongo/ci_config.json" | |
- name: Start the Docker image | |
env: | |
AIIDA_OPTIMADE_LOG_LEVEL: INFO | |
USE_MONGO: --mongo | |
run: | | |
export DOCKER_HOST_IP=$(ip route | grep docker0 | awk '{print $9}') | |
docker-compose -f profiles/docker-compose-mongo.yml up & | |
.github/utils/wait_for_it.sh localhost:3253 -t 360 | |
# Long sleep, because the initialization is needed | |
sleep 150 | |
- name: Test server with OPTIMADE Validator | |
uses: Materials-Consortia/optimade-validator-action@v2 | |
with: | |
port: 3253 | |
all versioned paths: yes | |
validate unversioned path: yes | |
validator version: latest | |
docker-mongo-filename: | |
runs-on: ubuntu-latest | |
timeout-minutes: 14 | |
services: | |
postgres: | |
image: postgres:12 | |
env: | |
POSTGRES_DB: test_psql_dos | |
POSTGRES_PASSWORD: test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -U setuptools | |
while IFS="" read -r line || [ -n "${line}" ]; do | |
if [[ "${line}" =~ ^aiida-core.*$ ]]; then | |
aiida_core="${line}" | |
fi | |
done < requirements.txt | |
pip install ${aiida_core} | |
- name: Setup up environment for AiiDA | |
env: | |
AIIDA_TEST_BACKEND: core.psql_dos | |
run: .github/aiida/setup_aiida.sh | |
- name: Build docker image | |
run: docker-compose -f profiles/docker-compose-mongo.yml build --build-arg CONFIG_FILE=".github/mongo/ci_config.json" | |
- name: Start the Docker image | |
env: | |
AIIDA_OPTIMADE_LOG_LEVEL: INFO | |
USE_MONGO: --mongo | |
MONGO_FILENAME: test_structures_mongo.json | |
run: | | |
export DOCKER_HOST_IP=$(ip route | grep docker0 | awk '{print $9}') | |
docker-compose -f profiles/docker-compose-mongo.yml up & | |
.github/utils/wait_for_it.sh localhost:3253 -t 360 | |
# Longer sleep, because the initialization is needed | |
sleep 30 | |
- name: Test server with OPTIMADE Validator | |
uses: Materials-Consortia/optimade-validator-action@v2 | |
with: | |
port: 3253 | |
all versioned paths: yes | |
validate unversioned path: yes | |
validator version: latest | |
build-package: | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check build and install source distribution | |
uses: CasperWA/check-sdist-action@v1 |