Skip to content

Feature/prml 1011 pynative model feedback #716

Feature/prml 1011 pynative model feedback

Feature/prml 1011 pynative model feedback #716

Workflow file for this run

name: Tests
on:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
unit-test:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: 3.10.13
cache: 'pip'
- name: Install formatter
run: pip install black==24.8.0
- name: Check format
run: black --check .
- name: Install dependencies
working-directory: src/predictions
run: pip3 install .
- name: Compile core train
run: python -m src.predictions.profiles_mlcorelib.ml_core.preprocess_and_train --mode ci
- name: Compile core predict
run: python -m src.predictions.profiles_mlcorelib.ml_core.preprocess_and_predict --mode ci
- name: Run tests
run: python -m unittest tests/unit/*.py
propensity_changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
propensity: ${{ steps.filter.outputs.propensity }}
steps:
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
propensity:
- '!src/predictions/profiles_mlcorelib/py_native/attribution_report.py'
- '!tests/integration/attribution/**'
- '!samples/attribution_project/**'
- '!src/predictions/profiles_mlcorelib/py_native/llm.py'
- '!src/predictions/profiles_mlcorelib/py_native/id_stitcher/**'
predicate-quantifier: every
attribution_changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
attribution: ${{ steps.filter.outputs.attribution }}
steps:
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
attribution:
- 'src/predictions/setup.py'
- 'samples/attribution_project/**'
- '.github/**'
- 'tests/integration/attribution/**'
- 'tests/integration/utils.py'
- 'src/predictions/profiles_mlcorelib/py_native/attribution_report.py'
propensity-integration-test:
runs-on: ubuntu-latest
needs:
- propensity_changes
- unit-test
if: ${{ needs.propensity_changes.outputs.propensity == 'true' }}
strategy:
matrix:
warehouse:
# TODO: Revert once bigquery access issue is fixed
# - test: tests/integration/bigquery/pynative.py
# site_config: BIGQUERY_SITE_CONFIG
# python_version: 3.10.13
- test: tests/integration/snowflake/pynative.py
site_config: SNOWFLAKE_SITE_CONFIG
python_version: 3.10.13
- test: tests/integration/snowflake/pynative.py
site_config: SNOWFLAKE_SITE_CONFIG
python_version: 3.9
- test: tests/integration/redshift/pynative.py
site_config: REDSHIFT_SITE_CONFIG_V2
python_version: 3.10.13
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: ${{matrix.warehouse.python_version}}
cache: 'pip'
- name: Install local mlcorelib
working-directory: src/predictions
run: pip3 install .
- name: Run pynative integration test
run: python -m unittest ${{matrix.warehouse.test}}
env:
SITE_CONFIG: ${{secrets[matrix.warehouse.site_config]}}
attribution-integration-test:
runs-on: ubuntu-latest
needs:
- attribution_changes
- unit-test
if: ${{ needs.attribution_changes.outputs.attribution == 'true' }}
strategy:
matrix:
warehouse:
- test: tests/integration/attribution/attribution.py
site_config: SNOWFLAKE_SITE_CONFIG
- test: tests/integration/attribution/attribution.py
site_config: REDSHIFT_SITE_CONFIG_V2
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: 3.10.13
cache: 'pip'
- name: Install local mlcorelib
working-directory: src/predictions
run: pip3 install .
- name: Run pynative integration test
run: python -m unittest ${{matrix.warehouse.test}}
env:
SITE_CONFIG: ${{secrets[matrix.warehouse.site_config]}}