Skip to content

Commit

Permalink
Merge pull request #1922 from microsoft/staging
Browse files Browse the repository at this point in the history
Staging
  • Loading branch information
wutaomsft authored Apr 22, 2023
2 parents 8ee1ed3 + 34af6e5 commit fdac1bc
Show file tree
Hide file tree
Showing 11 changed files with 98 additions and 370 deletions.
2 changes: 1 addition & 1 deletion .github/actions/azureml-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ runs:
- name: Get exit status
shell: bash
id: exit_status
run: echo ::set-output name=code::$(cat ${{inputs.PYTEST_EXIT_CODE}})
run: echo "code=$(cat ${{inputs.PYTEST_EXIT_CODE}})" >> $GITHUB_OUTPUT
- name: Check Success/Failure
if: ${{ steps.exit_status.outputs.code != 0 }}
uses: actions/github-script@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/get-test-groups/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ runs:
else
test_groups_str=$(python -c 'from tests.ci.azureml_tests.test_groups import unit_test_groups; print(list(unit_test_groups.keys()))')
fi
echo ::set-output name=test_groups::$test_groups_str
echo "test_groups=$test_groups_str" >> $GITHUB_OUTPUT
13 changes: 6 additions & 7 deletions .github/workflows/azureml-cpu-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,20 @@ on:
# cron works with default branch (main) only: # https://github.community/t/on-schedule-per-branch/17525/2

push:
# because we can't schedule runs for non-main branches,
# Because we can't schedule runs for non-main branches,
# to ensure we are running the build on the staging branch, we can add push policy for it
branches: [staging]

pull_request:
branches:
- 'main'
paths:
# Unit tests will be run only when there are changes in the
# unit tests related code including:
# Tests will be run only when there are changes in the code:
- examples/**
- '!examples/**/*.md'
- recommenders/**
- '!recommenders/**/*.md'
- tests/**
- '!tests/**/*.md'
- setup.py


# Enable manual trigger
workflow_dispatch:
input:
Expand Down
13 changes: 6 additions & 7 deletions .github/workflows/azureml-gpu-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,20 @@ on:
# cron works with default branch (main) only: # https://github.community/t/on-schedule-per-branch/17525/2

push:
# because we can't schedule runs for non-main branches,
# Because we can't schedule runs for non-main branches,
# to ensure we are running the build on the staging branch, we can add push policy for it
branches: [staging]

pull_request:
branches:
- 'main'
paths:
# Unit tests will be run only when there are changes in the
# unit tests related code including:
# Tests will be run only when there are changes in the code:
- examples/**
- '!examples/**/*.md'
- recommenders/**
- '!recommenders/**/*.md'
- tests/**
- '!tests/**/*.md'
- setup.py


# Enable manual trigger
workflow_dispatch:
input:
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/azureml-spark-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,17 @@ on:
# cron works with default branch (main) only: # https://github.community/t/on-schedule-per-branch/17525/2

push:
# because we can't schedule runs for non-main branches,
# Because we can't schedule runs for non-main branches,
# to ensure we are running the build on the staging branch, we can add push policy for it
branches: [staging]

pull_request:
branches:
- 'main'
paths:
# Unit tests will be run only when there are changes in the
# unit tests related code including:
# Tests will be run only when there are changes in the code:
- examples/**
- '!examples/**/*.md'
- recommenders/**
- '!recommenders/**/*.md'
- tests/**
- '!tests/**/*.md'
- setup.py

# Enable manual trigger
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/azureml-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ on:
- 'staging'
- 'main'
paths:
# Unit tests will be run only when there are changes in the
# unit tests related code including:
# Tests will be run only when there are changes in the code:
- examples/**
- '!examples/**/*.md'
- recommenders/**
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/sarplus.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# ---------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# ---------------------------------------------------------
# This workflow will run tests and do packaging for contrib/sarplus.
#
# References:
Expand Down
31 changes: 16 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,37 +34,40 @@ For a more detailed overview of the repository, please see the documents on the

## Getting Started

We recommend [conda](https://docs.conda.io/projects/conda/en/latest/glossary.html?highlight=environment#conda-environment) for environment management, and [vscode](https://code.visualstudio.com/) for development. To install the recommenders package and run an example notebook:
We recommend [conda](https://docs.conda.io/projects/conda/en/latest/glossary.html?highlight=environment#conda-environment) for environment management, and [VS Code](https://code.visualstudio.com/) for development. To install the recommenders package and run an example notebook on Linux/WSL:

```bash
# Create and activate a new conda environment
# 1. Install gcc if it is not installed already. On Ubuntu, this could done by using the command
# sudo apt install gcc

# 2. Create and activate a new conda environment
conda create -n <environment_name> python=3.9
conda activate <environment_name>

# Install the recommenders package with examples
# 3. Install the recommenders package with examples
pip install recommenders[examples]

# create a Jupyter kernel
# 4. create a Jupyter kernel
python -m ipykernel install --user --name <environment_name> --display-name <kernel_name>

# Clone this repo within vscode or using command:
# 5. Clone this repo within vscode or using command:
git clone https://github.com/microsoft/recommenders.git

# Within vscode:
# 1. Open a notebook, e.g., examples/00_quick_start/sar_movielens.ipynb;
# 2. Select Jupyter kernel <kernel_name>;
# 3. Run the notebook.
# 6. Within VS Code:
# a. Open a notebook, e.g., examples/00_quick_start/sar_movielens.ipynb;
# b. Select Jupyter kernel <kernel_name>;
# c. Run the notebook.
```

For more information about setup including extras, as well as configurations for GPU, Spark and Docker container, see the [setup guide](SETUP.md).
For more information about setup on other platforms (e.g., Windows and macOS) and different configurations (e.g., GPU, Spark and experimental features), see the [Setup Guide](SETUP.md).

In addition to the core package, several extras are also provided, including:
+ `[examples]`: Needed for running examples.
+ `[gpu]`: Needed for running GPU models.
+ `[spark]`: Needed for running Spark models.
+ `[dev]`: Needed for development for the repo.
+ `[all]`: `[examples]`|`[gpu]`|`[spark]`|`[dev]`
+ `[experimental]`: Models that are not throughly tested and/or may require additional steps in installation.
+ `[experimental]`: Models that are not thoroughly tested and/or may require additional steps in installation.
+ `[nni]`: Needed for running models integrated with [NNI](https://nni.readthedocs.io/en/stable/).


Expand Down Expand Up @@ -131,14 +134,12 @@ We provide a [benchmark notebook](examples/06_benchmarks/movielens.ipynb) to ill
| [SAR](examples/00_quick_start/sar_movielens.ipynb) | 0.110591 | 0.382461 | 0.330753 | 0.176385 | 1.253805 | 1.048484 | -0.569363 | 0.030474 |
| [SVD](examples/02_model_collaborative_filtering/surprise_svd_deep_dive.ipynb) | 0.012873 | 0.095930 | 0.091198 | 0.032783 | 0.938681 | 0.742690 | 0.291967 | 0.291971 |

## Code of Conduct

This project adheres to [Microsoft's Open Source Code of Conduct](CODE_OF_CONDUCT.md) in order to foster a welcoming and inspiring community for all.

## Contributing

This project welcomes contributions and suggestions. Before contributing, please see our [contribution guidelines](CONTRIBUTING.md).

This project adheres to [Microsoft's Open Source Code of Conduct](CODE_OF_CONDUCT.md) in order to foster a welcoming and inspiring community for all.

## Build Status

These tests are the nightly builds, which compute the smoke and integration tests. `main` is our principal branch and `staging` is our development branch. We use [pytest](https://docs.pytest.org/) for testing python utilities in [recommenders](recommenders) and [Papermill](https://github.com/nteract/papermill) and [Scrapbook](https://nteract-scrapbook.readthedocs.io/en/latest/) for the [notebooks](examples).
Expand Down
Loading

0 comments on commit fdac1bc

Please sign in to comment.