forked from microsoft/promptflow
-
Notifications
You must be signed in to change notification settings - Fork 0
80 lines (77 loc) · 2.86 KB
/
tools_tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: tools_tests
permissions:
# This is required for requesting the JWT
id-token: write
# This is required for actions/checkout
contents: read
on:
workflow_dispatch:
pull_request_target:
paths:
- src/promptflow-tools/**
- scripts/tool/**
- .github/workflows/tools_tests.yml
jobs:
authorize:
environment:
# forked prs from pull_request_target will be run in external environment, domain prs will be run in internal environment
${{ github.event_name == 'pull_request_target' &&
github.event.pull_request.head.repo.full_name != github.repository &&
'external' || 'internal' }}
# The type of runner that the job will run on
runs-on: ubuntu-latest
steps:
- run: true
build:
needs: authorize
strategy:
fail-fast: false
runs-on: ubuntu-latest
environment: Testing
timeout-minutes: 30
env:
DEPENDENCY_SOURCE_MODE: ${{ secrets.DEPENDENCY_SOURCE_MODE }}
steps:
- name: Check for dockerenv file
run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv)
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}
- name: Setup
run: |
python -m pip install --upgrade pip
pip install pytest pytest_mock
pip install azure-identity azure-keyvault-secrets
# "DEPENDENCY_SOURCE_MODE" is "main" or "package", means the dependency source of code
if [ "$DEPENDENCY_SOURCE_MODE" = "main" ]; then
pip install ${{ github.workspace }}/src/promptflow-tracing
pip install ${{ github.workspace }}/src/promptflow-core
pip install ${{ github.workspace }}/src/promptflow-devkit
pip install ${{ github.workspace }}/src/promptflow-azure
pip install ${{ github.workspace }}/src/promptflow
pip install google-search-results==2.4.1
pip install openai>=1.0.0
pip install azure-mgmt-cognitiveservices==13.5.0
else
pip install -r ./src/promptflow-tools/requirements.txt
pip install azure-ai-ml>=1.11.0,<2.0.0
pip install azure-mgmt-cognitiveservices==13.5.0
fi
pip list
- name: Azure login
uses: azure/login@v1
with:
client-id: ${{ secrets.CLIENT_ID }}
tenant-id: ${{ secrets.TENANT_ID }}
subscription-id: ${{ secrets.TEST_WORKSPACE_SUB_ID }}
- name: Generate configs
run: |
python ./scripts/tool/generate_connection_config.py
- name: Run tests
run: |
if [ "$DEPENDENCY_SOURCE_MODE" = "main" ]; then
export PYTHONPATH=./src/promptflow
fi
pytest ./src/promptflow-tools/tests