Skip to content

Commit 95c9202

Browse files
committed
Merge branch 'main' of https://github.com/oracle/accelerated-data-science into anomaly_detect_target_columns
2 parents 8fd8d5f + ae91e02 commit 95c9202

File tree

248 files changed

+17857
-3032
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

248 files changed

+17857
-3032
lines changed

.github/workflows/codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ jobs:
3838

3939
steps:
4040
- name: Checkout repository
41-
uses: actions/checkout@v3
41+
uses: actions/checkout@v4
4242

4343
# Initializes the CodeQL tools for scanning.
4444
- name: Initialize CodeQL
45-
uses: github/codeql-action/init@v2
45+
uses: github/codeql-action/init@v3
4646
with:
4747
languages: ${{ matrix.language }}
4848
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -56,7 +56,7 @@ jobs:
5656
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
5757
# If this step fails, then you should remove it and run the build manually (see below)
5858
- name: Autobuild
59-
uses: github/codeql-action/autobuild@v2
59+
uses: github/codeql-action/autobuild@v3
6060

6161
# ℹ️ Command-line programs to run using the OS shell.
6262
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -69,6 +69,6 @@ jobs:
6969
# ./location_of_script_within_repo/buildscript.sh
7070

7171
- name: Perform CodeQL Analysis
72-
uses: github/codeql-action/analyze@v2
72+
uses: github/codeql-action/analyze@v3
7373
with:
7474
category: "/language:${{matrix.language}}"

.github/workflows/publish-to-pypi.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ jobs:
99
runs-on: ubuntu-latest
1010

1111
steps:
12-
- uses: actions/checkout@v3
12+
- uses: actions/checkout@v4
1313
- name: Set up Python
14-
uses: actions/setup-python@v4
14+
uses: actions/setup-python@v5
1515
with:
1616
python-version: "3.x"
1717
- name: Build distribution 📦

.github/workflows/run-operators-unit-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ jobs:
3131
strategy:
3232
fail-fast: false
3333
matrix:
34-
python-version: ["3.8", "3.10.8"]
34+
python-version: ["3.8"]
3535

3636
steps:
37-
- uses: actions/checkout@v3
37+
- uses: actions/checkout@v4
3838

39-
- uses: actions/setup-python@v4
39+
- uses: actions/setup-python@v5
4040
with:
4141
python-version: ${{ matrix.python-version }}
4242
cache: "pip"

.github/workflows/run-unittests-default_setup.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ name: "[Py3.8][Py3.9][Py3.10] tests/unitary/default_setup/**"
33
on:
44
workflow_dispatch:
55
pull_request:
6-
paths:
7-
- "ads/**"
8-
- pyproject.toml
9-
- "**requirements.txt"
10-
- ".github/workflows/run-unittests*.yml"
6+
branches: [ "main" ]
117

128
# Cancel in progress workflows on pull_requests.
139
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
@@ -34,9 +30,9 @@ jobs:
3430
python-version: ["3.8", "3.9", "3.10"]
3531

3632
steps:
37-
- uses: actions/checkout@v3
33+
- uses: actions/checkout@v4
3834

39-
- uses: actions/setup-python@v4
35+
- uses: actions/setup-python@v5
4036
with:
4137
python-version: ${{ matrix.python-version }}
4238
cache: "pip"
@@ -48,13 +44,15 @@ jobs:
4844
name: "Test config setup"
4945

5046
- name: "Run default_setup tests folder ONLY with minimum ADS dependencies"
51-
timeout-minutes: 15
47+
timeout-minutes: 30
5248
shell: bash
5349
env:
5450
NoDependency: True
5551
run: |
5652
set -x # print commands that are executed
5753
$CONDA/bin/conda init
5854
source /home/runner/.bashrc
55+
conda install python=${{ matrix.python-version }}
5956
pip install -r test-requirements.txt
57+
conda list
6058
python -m pytest -v -p no:warnings --durations=5 tests/unitary/default_setup

.github/workflows/run-unittests-py38-cov-report.yml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ name: "[Py3.8][COV REPORT] tests/unitary/**"
33
on:
44
workflow_dispatch:
55
pull_request:
6-
paths:
7-
- "ads/**"
8-
- pyproject.toml
9-
- "**requirements.txt"
10-
- ".github/workflows/run-unittests*.yml"
6+
branches: [ "main" ]
117

128
# Cancel in progress workflows on pull_requests.
139
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
@@ -38,20 +34,23 @@ jobs:
3834
test-path: "tests/unitary"
3935
# `model` tests running in "slow_tests",
4036
# `feature_store` tests has its own test suite
37+
# `forecast` tests has its own test suite
38+
# 'hpo' tests hangs if run together with all unitary tests. Tests running in separate command before running all unitary
4139
ignore-path: |
4240
--ignore tests/unitary/with_extras/model \
4341
--ignore tests/unitary/with_extras/feature_store \
42+
--ignore tests/unitary/with_extras/operator/forecast \
4443
--ignore tests/unitary/with_extras/hpo
4544
- name: "slow_tests"
4645
test-path: "tests/unitary/with_extras/model"
4746

4847
steps:
49-
- uses: actions/checkout@v3
48+
- uses: actions/checkout@v4
5049

5150
- uses: ./.github/workflows/create-more-space
5251
name: "Create more disk space"
5352

54-
- uses: actions/setup-python@v4
53+
- uses: actions/setup-python@v5
5554
with:
5655
python-version: "3.8"
5756
cache: "pip"
@@ -64,14 +63,16 @@ jobs:
6463

6564
- uses: ./.github/workflows/test-env-setup
6665
name: "Test env setup"
67-
timeout-minutes: 20
66+
timeout-minutes: 30
6867

69-
# Installing forecast deps for python3.8 test setup only, it will not work with python3.9/3.10, because
70-
# automlx do not support py3.9 and some versions of py3.10. This step omitted in -py39-py30.yml workflow
71-
- name: "Install Forecasting dependencies"
68+
# Installing pii deps for python3.8 test setup only, it will not work with python3.9/3.10, because
69+
# 'datapane' library conflicts with pandas>2.2.0, which used in py3.9/3.10 setup
70+
- name: "Install PII dependencies"
7271
run: |
73-
pip install -e ".[forecast]"
74-
72+
pip install -e ".[pii]"
73+
- name: "Install featurestore marketplace dependencies"
74+
run: |
75+
pip install -e ".[feature-store-marketplace]"
7576
- name: "Run unitary tests folder with maximum ADS dependencies"
7677
timeout-minutes: 40
7778
shell: bash
@@ -101,7 +102,7 @@ jobs:
101102
${{ matrix.test-path }} ${{ matrix.ignore-path }}
102103
103104
- name: "Save coverage files"
104-
uses: actions/upload-artifact@v3
105+
uses: actions/upload-artifact@v4
105106
with:
106107
name: cov-reports-${{ matrix.name }}
107108
path: |
@@ -114,17 +115,17 @@ jobs:
114115
runs-on: ubuntu-latest
115116
continue-on-error: true
116117
needs: test
117-
if: ${{ success() }} && && github.event_name == 'pull_request'
118+
if: ${{ success() }} && github.event_name == 'pull_request'
118119
env:
119120
COMPARE_BRANCH: main
120121

121122
steps:
122123
- name: "Checkout current branch"
123-
uses: actions/checkout@v3
124+
uses: actions/checkout@v4
124125
with:
125126
fetch-depth: 0
126127
- name: "Download coverage files"
127-
uses: actions/download-artifact@v3
128+
uses: actions/download-artifact@v4
128129
- name: "Calculate overall coverage"
129130
run: |
130131
set -x # print commands that are executed
@@ -153,7 +154,6 @@ jobs:
153154
fi
154155
155156
- name: "Calculate coverage diff"
156-
if: always()
157157
run: |
158158
set -x # print commands that are executed
159159
@@ -183,8 +183,8 @@ jobs:
183183
fi
184184
185185
- name: "Add comment with cov diff to PR"
186-
uses: actions/github-script@v6
187-
if: always()
186+
uses: actions/github-script@v7
187+
if: github.event_name == 'pull_request'
188188
with:
189189
github-token: ${{ github.token }}
190190
script: |
@@ -200,7 +200,7 @@ jobs:
200200
--compare-branch=origin/${{ env.COMPARE_BRANCH }} \
201201
--html-report=cov-diff.html
202202
- name: "Save coverage difference report"
203-
uses: actions/upload-artifact@v3
203+
uses: actions/upload-artifact@v4
204204
with:
205205
name: cov-html-reports
206206
path: |

.github/workflows/run-unittests-py39-py310.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@ name: "[Py3.9][Py3.10] - tests/unitary/**"
33
on:
44
workflow_dispatch:
55
pull_request:
6-
paths:
7-
- "ads/**"
8-
- pyproject.toml
9-
- "**requirements.txt"
10-
- ".github/workflows/run-unittests*.yml"
116

127
# Cancel in progress workflows on pull_requests.
138
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
@@ -40,22 +35,24 @@ jobs:
4035
# `model` tests running in "slow_tests",
4136
# `feature_store` tests has its own test suite
4237
# `forecast` tests not supported in python 3.9,3.10 (automlx dependency). Tests are running in python3.8 test env, see run-unittests-py38-cov-report.yml
38+
# 'pii' tests run only with py3.8, 'datapane' library conflicts with pandas>2.2.0, which used in py3.9/3.10 setup
4339
# 'hpo' tests hangs if run together with all unitary tests. Tests running in separate command before running all unitary
4440
ignore-path: |
4541
--ignore tests/unitary/with_extras/model \
4642
--ignore tests/unitary/with_extras/feature_store \
4743
--ignore tests/unitary/with_extras/operator/forecast \
44+
--ignore tests/unitary/with_extras/operator/pii \
4845
--ignore tests/unitary/with_extras/hpo
4946
- name: "slow_tests"
5047
test-path: "tests/unitary/with_extras/model"
5148

5249
steps:
53-
- uses: actions/checkout@v3
50+
- uses: actions/checkout@v4
5451

5552
- uses: ./.github/workflows/create-more-space
5653
name: "Create more disk space"
5754

58-
- uses: actions/setup-python@v4
55+
- uses: actions/setup-python@v5
5956
with:
6057
python-version: ${{ matrix.python-version }}
6158
cache: "pip"
@@ -68,7 +65,7 @@ jobs:
6865

6966
- uses: ./.github/workflows/test-env-setup
7067
name: "Test env setup"
71-
timeout-minutes: 20
68+
timeout-minutes: 30
7269

7370
- name: "Run hpo tests"
7471
timeout-minutes: 10

.github/workflows/test-env-setup/action.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ runs:
1414
sudo apt-get install libkrb5-dev graphviz
1515
$CONDA/bin/conda init
1616
source /home/runner/.bashrc
17-
17+
conda install python=${{ matrix.python-version }}
1818
pip install -r dev-requirements.txt
19+
conda list

.pre-commit-config.yaml

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,52 @@
11
repos:
2-
# Standard hooks
3-
- repo: https://github.com/pre-commit/pre-commit-hooks
4-
rev: v4.4.0
5-
hooks:
6-
- id: check-ast
7-
exclude: ^docs/
8-
- id: check-docstring-first
9-
exclude: ^(docs/|tests/)
10-
- id: check-json
11-
- id: check-merge-conflict
12-
- id: check-yaml
13-
exclude: feature_store_*.yaml
14-
args: ['--allow-multiple-documents']
15-
- id: detect-private-key
16-
- id: end-of-file-fixer
17-
exclude: '\.ipynb?$'
18-
- id: pretty-format-json
19-
args: ['--autofix']
20-
- id: trailing-whitespace
21-
args: [--markdown-linebreak-ext=md]
22-
exclude: ^docs/
23-
# Black, the code formatter, natively supports pre-commit
24-
- repo: https://github.com/psf/black
25-
rev: 23.3.0
26-
hooks:
27-
- id: black
28-
exclude: ^docs/
29-
# Regex based rst files common mistakes detector
30-
- repo: https://github.com/pre-commit/pygrep-hooks
31-
rev: v1.10.0
32-
hooks:
33-
- id: rst-backticks
34-
files: ^docs/
35-
- id: rst-inline-touching-normal
36-
files: ^docs/
37-
# Hardcoded secrets and ocids detector
38-
- repo: https://github.com/gitleaks/gitleaks
39-
rev: v8.17.0
40-
hooks:
41-
- id: gitleaks
42-
exclude: .github/workflows/reusable-actions/set-dummy-conf.yml
43-
# Oracle copyright checker
44-
- repo: https://github.com/oracle-samples/oci-data-science-ai-samples/
45-
rev: cbe0136f7aaffe463b31ddf3f34b0e16b4b124ff
46-
hooks:
47-
- id: check-copyright
48-
name: check-copyright
49-
entry: .pre-commit-scripts/check-copyright.py
50-
language: script
51-
types_or: ['python', 'shell', 'bash']
52-
exclude: ^docs/
2+
# Standard hooks
3+
- repo: https://github.com/pre-commit/pre-commit-hooks
4+
rev: v4.4.0
5+
hooks:
6+
- id: check-ast
7+
exclude: ^docs/
8+
- id: check-docstring-first
9+
exclude: ^(docs/|tests/)
10+
- id: check-json
11+
- id: check-merge-conflict
12+
- id: check-yaml
13+
exclude: feature_store_*.yaml
14+
args: ["--allow-multiple-documents"]
15+
- id: detect-private-key
16+
- id: end-of-file-fixer
17+
exclude: '\.ipynb?$'
18+
- id: pretty-format-json
19+
args: ["--autofix"]
20+
- id: trailing-whitespace
21+
args: [--markdown-linebreak-ext=md]
22+
exclude: ^docs/
23+
# Black, the code formatter, natively supports pre-commit
24+
- repo: https://github.com/psf/black
25+
rev: 23.3.0
26+
hooks:
27+
- id: black
28+
exclude: ^docs/
29+
# Regex based rst files common mistakes detector
30+
- repo: https://github.com/pre-commit/pygrep-hooks
31+
rev: v1.10.0
32+
hooks:
33+
- id: rst-backticks
34+
files: ^docs/
35+
- id: rst-inline-touching-normal
36+
files: ^docs/
37+
# Hardcoded secrets and ocids detector
38+
- repo: https://github.com/gitleaks/gitleaks
39+
rev: v8.17.0
40+
hooks:
41+
- id: gitleaks
42+
exclude: .github/workflows/reusable-actions/set-dummy-conf.yml
43+
# Oracle copyright checker
44+
- repo: https://github.com/oracle-samples/oci-data-science-ai-samples/
45+
rev: 1bc5270a443b791c62f634233c0f4966dfcc0dd6
46+
hooks:
47+
- id: check-copyright
48+
name: check-copyright
49+
entry: .pre-commit-scripts/check-copyright.py
50+
language: script
51+
types_or: ["python", "shell", "bash"]
52+
exclude: ^docs/

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @darenr @mayoor @mrDzurb @VipulMascarenhas @qiuosier

0 commit comments

Comments
 (0)