Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: improve circle ci #949

Merged
merged 28 commits into from
Aug 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
0312c7a
Revert "Revert "Fix benchmark documentation (#931)""
xzdandy Aug 15, 2023
b1c2dc2
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 17, 2023
911450a
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 18, 2023
fa93665
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 19, 2023
bf9991a
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 22, 2023
5969e02
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 22, 2023
dd09943
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 24, 2023
cddc5a9
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 25, 2023
bae5dd5
reorg tests
jiashenC Aug 25, 2023
9159684
rewrite test script
jiashenC Aug 25, 2023
35a79ae
update ci
jiashenC Aug 25, 2023
5723c38
fix script
jiashenC Aug 25, 2023
a267b0a
fix missing / redundant tests
jiashenC Aug 25, 2023
b3d1719
lint fix
jiashenC Aug 25, 2023
d6a2212
third party tests only on master and staging
jiashenC Aug 25, 2023
cc59a35
skip client server test
jiashenC Aug 25, 2023
4fd025d
model cache when FULL testing
jiashenC Aug 25, 2023
d0b00c0
enable cache for pip wheel
jiashenC Aug 25, 2023
3eabdb8
lint fix
jiashenC Aug 25, 2023
284741f
add cache restore
jiashenC Aug 25, 2023
a37717f
add missing tests
jiashenC Aug 26, 2023
3a2cbea
lint ix
jiashenC Aug 26, 2023
c7bb47a
add missing tests
jiashenC Aug 26, 2023
cd01371
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 26, 2023
97e149a
Merge branch 'master' of github.com:georgia-tech-db/eva
xzdandy Aug 26, 2023
df2996a
Merge branch 'master' into improve-circle-ci
xzdandy Aug 26, 2023
3e93bd2
Fix Linter
xzdandy Aug 26, 2023
f79f277
Fix linter
xzdandy Aug 26, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
215 changes: 112 additions & 103 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,117 +8,125 @@ workflows:
main:
jobs:
################################
#### PIP
## LINTER: All
################################
################################
- Pip-PyPI
- Pip-Local
- Linux:
name: Linter | v3.10 | Linux
mode: LINTER
################################
#### UNIT TESTS
#### PIP: Master
################################
################################
- Pip-PyPI:
filters:
branches:
only: master
- Pip-Local:
filters:
branches:
only: master
################################
#### UNIT TESTS: PR
################################
################################
- Linux:
name: "Test | v3.8 | Linux"
v: "3.8"
mode: "TEST"
ray: "DISABLED"
- Linux:
name: "Test | v3.9 | Linux"
v: "3.9"
mode: "TEST"
ray: "DISABLED"
- Linux:
name: "Test | v3.10 | Linux"
v: "3.10"
mode: "TEST"
ray: "DISABLED"
- Linux:
name: "Test | v3.11 | Linux"
v: "3.11"
mode: "TEST"
ray: "DISABLED"
name: Unit Test | v3.10 | Linux
mode: UNIT
filters:
branches:
ignore:
- master
- staging
################################
#### SHORT INTEGRATION TESTS: PR
################################
################################
- Linux:
name: "Test | Ray | v3.8 | Linux"
v: "3.8"
mode: "TEST"
ray: "ENABLED"
name: Short Integration Test | v3.10 | Linux
mode: SHORT INTEGRATION
filters:
branches:
ignore:
- master
- staging
################################
#### LONG INTEGRATION TESTS:
#### Staging
################################
################################
- Linux:
name: "Test | Ray | v3.9 | Linux"
v: "3.9"
mode: "TEST"
ray: "ENABLED"
name: Long Integration Test | v<< matrix.v >> | Linux
mode: LONG INTEGRATION
matrix:
parameters:
v: ["3.8", "3.9", "3.10", "3.11"]
filters:
branches:
only: staging
################################
#### LONG INTEGRATION TESTS + RAY:
#### Staging, Master
################################
################################
- Linux:
name: "Test | Ray | v3.10 | Linux"
v: "3.10"
mode: "TEST"
ray: "ENABLED"
# Ray does not work on 3.11
# https://github.com/ray-project/ray/issues/33232
# - Linux:
# name: "Test | v3.11 | Linux"
# v: "3.11"
# mode: "TEST"
# ray: "ENABLED"
name: Long Integration Test | Ray | v<< matrix.v >> | Linux
mode: LONG INTEGRATION
ray: ENABLED
matrix:
parameters:
v: ["3.8", "3.9", "3.10"]
filters:
branches:
only:
- master
- staging
################################
### INTEGRATIONS
### THIRD PARTY: Staging, Master
################################
################################
- Postgres:
name: "Test Integration - Postgres | v3.10 | Linux"
v: "3.10"
mode: "INTEGRATION"
name: Third Party Test - Postgres | v3.10 | Linux
filters:
branches:
only:
- master
- staging
################################
### NOTEBOOKS
### NOTEBOOKS: Staging, Master
################################
################################
- Linux:
name: "Notebook | v3.8 | Linux"
v: "3.8"
mode: "NOTEBOOK"
ray: "DISABLED"
- Linux:
name: "Notebook | v3.9 | Linux"
v: "3.9"
mode: "NOTEBOOK"
ray: "DISABLED"
- Linux:
name: "Notebook | v3.10 | Linux"
v: "3.10"
mode: "NOTEBOOK"
ray: "DISABLED"
- Linux:
name: "Notebook | v3.11 | Linux"
v: "3.11"
mode: "NOTEBOOK"
ray: "DISABLED"
- Linux:
name: "Notebook | Ray | v3.8 | Linux"
v: "3.8"
mode: "NOTEBOOK"
ray: "ENABLED"
- Linux:
name: "Notebook | Ray | v3.9 | Linux"
v: "3.9"
mode: "NOTEBOOK"
ray: "ENABLED"
- Linux:
name: "Notebook | Ray | v3.10 | Linux"
v: "3.10"
mode: "NOTEBOOK"
ray: "ENABLED"
# - Linux:
# name: "Notebook | v3.11 | Linux"
# v: "3.11"
# mode: "NOTEBOOK"
name: Notebook Test | v<< matrix.v >> | Linux
mode: NOTEBOOK
filters:
branches:
only:
- master
- staging
matrix:
parameters:
v: ["3.8", "3.9", "3.10", "3.11"]
################################
## LINTER
#### FULL TESTS:
#### Master
################################
################################
- Linux:
name: "Linter | Linux"
v: "3.10"
mode: "LINTER"
ray: "DISABLED"
name: Full Test | v<< matrix.v >> | Linux
mode: FULL
matrix:
parameters:
v: ["3.8", "3.9", "3.10", "3.11"]
filters:
branches:
only: master
################################
# DOCKER AND CLOUD: Master
################################
################################
# - Docker-Local
# - AWS
################################
# OTHER OPERATING SYSTEMS
################################
Expand All @@ -127,12 +135,6 @@ workflows:
# name: "Windows | v3.10"
# - MacOS:
# name: "MacOS | v3.10"
################################
# DOCKER AND CLOUD
################################
################################
- Docker-Local
- AWS

jobs:
Linux:
Expand All @@ -142,7 +144,7 @@ jobs:
default: "3.10"
mode:
type: string
default: "ALL"
default: "FULL"
ray:
type: string
default: "DISABLED"
Expand All @@ -154,6 +156,12 @@ jobs:

- checkout

# Restore pip wheel
- restore_cache:
keys:
- v1-pip-wheel_cache-python<< parameters.v >>-ray<< parameters.ray >>-{{ checksum "setup.py" }}

# Restore model
- restore_cache:
keys:
- v1-model_cache-{{ checksum "setup.py" }}
Expand Down Expand Up @@ -184,7 +192,7 @@ jobs:

- run:
name: Test and upload coverage report to coveralls
no_output_timeout: 30m # 30 minute timeout
no_output_timeout: 10m # 10 minute timeout
environment:
PY_VERSION: << parameters.v >>
command: |
Expand All @@ -198,7 +206,7 @@ jobs:
# Enable cache save conditionally (to avoid empty cache in Notebooks)
- when:
condition:
equal: [ TEST, << parameters.mode >> ]
equal: [ FULL, << parameters.mode >> ]
steps:
- save_cache:
key: v1-model_cache-{{ checksum "setup.py" }}
Expand All @@ -207,15 +215,16 @@ jobs:
- /home/circleci/.cache/torch/
- /home/circleci/.cache/gpt4all/

- save_cache:
key: v1-pip-wheel_cache-python<< parameters.v >>-ray<< parameters.ray >>-{{ checksum "setup.py" }}
paths:
- test_evadb

Postgres:
parameters:
v:
type: string
default: "3.10"
mode:
type: string
default: "ALL"

resource_class: large
docker:
# https://circleci.com/docs/circleci-images#language-image-variants DATABASE_URL: postgresql://postgres:password@localhost:5432/evadb
Expand Down
2 changes: 1 addition & 1 deletion evadb/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
_REVISION = "3+dev"

VERSION_SHORT = f"{_MAJOR}.{_MINOR}"
VERSION = f"{_MAJOR}.{_MINOR}.{_REVISION}"
VERSION = f"{_MAJOR}.{_MINOR}.{_REVISION}"
Loading