Commit Graph
84 Commits
Author SHA1 Message Date
Shawn Callegari bc08946eeb Update dotnet-pr.yml
Replacing dotnet-pr contents with the dockerized version.
2023-05-23 21:53:06 -07:00
dependabot[bot] 5dc10c9f2a Bump xt0rted/pull-request-comment-branch from 1 to 2 (#1170)
Bumps
[xt0rted/pull-request-comment-branch](https://github.com/xt0rted/pull-request-comment-branch) from 1 to 2.
2023-05-23 10:56:22 -07:00
dependabot[bot] db9ebed9c1 Bump ad-m/github-push-action from 0.5.0 to 0.6.0 (#1169)
Bumps [ad-m/github-push-action](https://github.com/ad-m/github-push-action) from 0.5.0 to 0.6.0.
2023-05-23 10:55:24 -07:00
dependabot[bot] 9ffcb7936d Bump xt0rted/slash-command-action from 1 to 2 (#1168)
Bumps
[xt0rted/slash-command-action](https://github.com/xt0rted/slash-command-action)
2023-05-23 17:53:56 +00:00
Devis Lucato 5d15f512d5 Enable more C# code style checks + fixes (#1142)
1. Fix missing `this.` and `Async` suffix
2. Fix some indentation, spacing, etc.
3. Enable these rules and format accordingly:

IDE0001: Simplify name
IDE0005: Remove unnecessary using directives
IDE0009: Add this or Me qualification
IDE0011: Add braces
IDE0018: Inline variable declaration
IDE0032: Use auto-implemented property
IDE0034: Simplify 'default' expression
IDE0035: Remove unreachable code
IDE0040: Add accessibility modifiers
IDE0049: Use language keywords instead of framework type names for type
references
IDE0050: Convert anonymous type to tuple
IDE0051: Remove unused private member
IDE0055: Formatting rule
IDE0060: Remove unused parameter
IDE0070: Use 'System.HashCode.Combine'
IDE0071: Simplify interpolation
IDE0073: Require file header
IDE0082: Convert typeof to nameof
IDE0090: Simplify new expression
IDE0161: Use file-scoped namespace
2023-05-22 17:59:36 +00:00
Abby Harrison 00ff74e2e7 Feature python integration tests (#1134)
### Motivation and Context
Python integration tests were failing consistently for 2 reasons. First,
all ubuntu system tests were failing due to missing shared object files
related to cuda. Second, macOS + python 3.11 tests were failing due to
hsnwlib unable to install on native hardware.

See https://github.com/microsoft/semantic-kernel/pull/1066 for
description of changes to integration test code to condense test code,
make better use of pytest fixtures, and reduce the number of calls to
external APIs (OpenAI, AOAI)

### Description
- Integration tests were failing on Linux due to a regression in python
torch=2.0.1. Downgrading the version to 2.0.0 resolved these failures.
- For MacOS + 3.11 specifically, setting the environment variable
`HNSWLIB_NO_NATIVE=1` ensures that the hnswlib wheel can be built and
installed properly on M1 hardware.
- Python integration tests reliably and consistently passing:
https://github.com/microsoft/semantic-kernel/actions/runs/5035748596
2023-05-21 06:04:09 +00:00
Shawn Callegari cacccd44d5 Update dotnet-format-pr-2.yml 2023-05-19 23:37:09 -07:00
Shawn Callegari a2843dc7e7 Update dotnet-format-on-slash.yml 2023-05-19 23:33:13 -07:00
Shawn Callegari 4650b3770e Update dotnet-format-on-slash.yml 2023-05-19 23:30:18 -07:00
Shawn Callegari 2301711d4c Update dotnet-format-on-slash.yml 2023-05-19 23:25:00 -07:00
Shawn Callegari 9b5a10bfab Create dotnet-format-on-slash.yml 2023-05-19 23:11:46 -07:00
Shawn Callegari a7e3841747 dotnet-format-pr-2.yml 2023-05-19 23:07:27 -07:00
Shawn Callegari 253b230da1 Create main.yml 2023-05-19 23:07:02 -07:00
Shawn Callegari b74e8f1b79 Update dotnet-format.yml 2023-05-18 21:07:18 -07:00
Shawn Callegari 89797d32e3 Update dotnet-format.yml 2023-05-18 20:59:14 -07:00
Shawn Callegari 4a48dc55d3 Update dotnet-format.yml 2023-05-18 20:54:18 -07:00
Shawn Callegari 7360757126 Update dotnet-format.yml 2023-05-18 20:48:52 -07:00
Shawn Callegari 421c538d58 Update dotnet-format.yml 2023-05-18 20:29:05 -07:00
Shawn Callegari 6ed1a45fec Update dotnet-pr.yml 2023-05-18 20:21:13 -07:00
Shawn Callegari eddb04bf10 Update dotnet-pr-docker.yml 2023-05-18 20:20:32 -07:00
Shawn Callegari 026629551e Update dotnet-pr-docker.yml 2023-05-18 20:11:05 -07:00
Shawn Callegari cc58ca753b Update update-version.sh
Fixing ci break due to change in <Version> tag format
2023-05-18 19:56:42 -07:00
7066a4c037 python: add chroma memory store (#957)
Add support for Chroma https://docs.trychroma.com/

> Chroma is the open-source embedding database. Chroma makes it easy to
build LLM apps by making knowledge, facts, and skills pluggable for
LLMs.

### Motivation and Context

* #403 Support for Chroma embedding database
* #426 Python: feat: add chroma memory store
* #449 Python: feat: add chroma memory store

---------

Co-authored-by: Abby Harrison <[email protected]>
Co-authored-by: Abby Harrison <[email protected]>
Co-authored-by: Devis Lucato <[email protected]>
2023-05-17 20:32:08 +00:00
Shawn Callegari 4f2361e320 Update dotnet-ci.yml 2023-05-15 21:01:07 -07:00
Shawn Callegari 725f134849 Adding -pre tag to build version to address build warning (#1010)
### Motivation and Context
New SDKs raise warnings about our SDK including prerelease dependencies
in a stable package.

_warning NU5104: A stable release of a package should not have a
prerelease dependency. Either modify the version spec of dependency
"Azure.Search.Documents [11.5.0-beta.2, )" or update the version field
in the nuspec._

### Description
Marking as "-pre" so that the builds know that we are a prerelease
package too. This will not affect the names of the builds we ship, as
those are overridden when packaging.
2023-05-16 01:54:17 +00:00
Shawn Callegari 75eaa6d676 Create dotnet-pr-docker.yml 2023-05-15 16:03:20 -07:00
Devis Lucato b755877c43 Change integration tests parallelism to 1 to avoid throttling (#1003)
Currently we have a matrix of 12 test sets, running in parallel, that
keep failing even when using a retry and exponential backoff.

Change python integration tests parallelism to 1 to reduce failures
caused by OpenAI and Azure OpenAI throttling.
2023-05-15 13:35:38 -07:00
Shawn Callegari 79a533d055 Create dotnet-ci-docker.yml 2023-05-15 11:38:26 -07:00
Devis Lucato fd1e014618 Spell checking automation + fix typos (#977)
Spell checking automation:
* Add typos checker to PR flow using
https://github.com/marketplace/actions/typos-action
* Fix existing typos
* Add config file, with exclusions and exceptions: `.github/_typos.toml`

The checker can be run locally, e.g.

* Install: `brew install typos-cli`
* Install: `conda install typos`

Run: `typos -c .github/_typos.toml`
2023-05-12 20:04:16 +00:00
Shawn Callegari 7b83bf5222 Update dotnet-ci.yml 2023-05-11 18:57:52 -07:00
Mark Karle 0b1e28618c Fix linter not running (#933)
### Motivation and Context

Black wasn't running because it depended on paths-filter which was
renamed in a previous commit.
2023-05-10 22:52:03 -07:00
Shawn Callegari 6afcbe25b9 Update dotnet-ci.yml 2023-05-10 00:43:03 -07:00
Shawn Callegari de5537d5fb Update dotnet-ci.yml 2023-05-10 00:31:31 -07:00
Abby Harrison a9b61b2cf4 Python: Optional dependencies (#820)
### Motivation and Context
The release of Python SK from 0.2.4 -> 0.2.6 significantly increased the
size of the pip package. The dependencies causing this are not core to
the kernel, so this PR establishes a pattern for SK connector
dependencies (ex: Hugging Face, memory storage)

### Description
- Added a poetry group called hugging_face - this is the same name as
the connectors namespace in the code.
- Added dependency installs to the Hugging Face sample notebook.
- removed Hugging Face dependencies from requirements.txt.
- Added import errors for torch, transformers, and sentence-transformers
in the hugging_face connector classes.
- Added command `--with hugging_face` to integration test setup.
2023-05-06 03:35:13 +00:00
Shawn Callegari f5b3958ed6 Update dotnet-format.yml 2023-05-05 20:26:54 -07:00
Shawn Callegari 1f27983181 Update dotnet-format.yml 2023-05-05 20:20:09 -07:00
Shawn Callegari 19acd70e11 Update node-pr.yml
This check is extremely slow, and is now running on any PRs with changes under samples/, including most unrelated dotnet changes. Restricting to samples/apps, which is where all the node projects live.
2023-05-04 12:38:36 -07:00
Abby Harrison 05c586b9d8 Create python-integration-tests.yml (#763)
### Motivation and Context
Run python integration tests on every push to main, and every 12 hours. 

These integration tests will run on every push to main as well as twice
a day. At the time of this PR, we are seeing ~3 PRs to the python SK per
day. Each Integration test run will make ~32 AI requests. For each PR,
12 runs will be made: 3 each for python 3.8, 3.9, 3.10, and 3.11 for a
total of ~400 calls per push to main.

We should re-evaluate the trigger on pushes to main if PRs to the python
SK significantly increase.

### Description
- add workflow definition for integration tests
- Example run:
https://github.com/microsoft/semantic-kernel/actions/runs/4874609026/jobs/8695771345?pr=763
- For push triggers, add path checks for dotnet/** or python/**
depending on the type of workflow
- pinned requirements.txt dependencies to the versions pinned in the
pyproject.toml file to ensure parity between pip package dependencies
and local code

**Note**: Integration tests are failing on windows with python 3.8 -
already captured a task to address the problem
2023-05-03 17:05:01 -07:00
Brendan Burns 8b5171d9db Update codeql-analysis.yml to include Python (#751)
### Motivation and Context
Apply CodeQL scanning to Python as well as csharp.
2023-05-01 23:19:04 -07:00
Abby Harrison 4e2d886eff Python: Proper separation of unit and integration tests (#732)
### Motivation and Context
This PR introduces the ability to run formal integration tests for
python using pytest - separated from unit tests for easier automation.

### Description
- moved `python/tests/end-to-end` directory to
`python/tests/integration`
- renamed integration tests to test_* pattern so pytest will detect them
- import `GenerationConfig` for hugging face completions - according to
logs, this is the recommended practice
2023-05-01 16:16:36 -07:00
Lee Miller c4e1449c4f Improve labeler rules for kernel label (#724)
### Motivation and Context
#710 tried to enable the `kernel` tag but accidentally applied to too
many changes.

### Description
The best way to resolve this was specify directories under `dotnet` to
be considered for `kernel`.
 
 https://github.com/lemillermicrosoft/semantic-kernel/pull/7
 https://github.com/lemillermicrosoft/semantic-kernel/pull/8
 https://github.com/lemillermicrosoft/semantic-kernel/pull/10
https://github.com/lemillermicrosoft/semantic-kernel/pull/9 This one was
missed before.
2023-04-28 08:05:18 -07:00
Lee Miller 5f53792076 🧪Re-enable Integration Tests (#716)
### Motivation and Context
Integration tests have stopped running due to #596 

### Description
This updates the yml to properly include any projects of the form
`*IntegrationTests.csproj`

There are failing tests due to changes recently that were not caught.
Will fix those separately.
2023-04-28 06:42:28 -07:00
Shawn Callegari 247dc33a08 Update dotnet-format.yml 2023-04-27 20:27:15 -07:00
Shawn Callegari 139b5faa2d Update dotnet-format.yml 2023-04-27 20:19:58 -07:00
Shawn Callegari 609d259664 Update dotnet-format.yml 2023-04-27 20:07:27 -07:00
Shawn Callegari 2a149e236e Update dotnet-format.yml 2023-04-27 19:51:14 -07:00
Shawn Callegari aa8c268c3c Update dotnet-format.yml 2023-04-27 19:22:04 -07:00
Shawn Callegari 5a643a458d Update dotnet-format.yml 2023-04-27 19:17:49 -07:00
Shawn Callegari 8d47213f58 Update dotnet-format.yml 2023-04-27 18:51:28 -07:00
Lee Miller e456d841b0 Simplify labeler rules for kernel label (#710)
This commit simplifies the labeler rules for the kernel label by using
the any and all operators instead of a list of patterns. This makes the
rules more readable and easier to maintain and ensures `kernel` label is
used as appropriate. The logic of the rules still exclude the
SemanticKernel and SemanticKernel.Abstractions projects from the kernel
label but will now include if only non-core kernel changes are made.
2023-04-28 01:26:44 +00:00