@@ -19,63 +19,56 @@ jobs:
1919 steps :
2020 - name : Checkout code
2121 uses : actions/checkout@v4
22-
22+
2323 - name : Discover testcases
2424 id : discover
2525 run : |
2626 # Find all testcase folders (excluding common folders like README, etc.)
2727 testcase_dirs=$(find testcases -maxdepth 1 -type d -name "*-*" | sed 's|testcases/||' | sort)
28-
28+
2929 echo "Found testcase directories:"
3030 echo "$testcase_dirs"
31-
31+
3232 # Convert to JSON array for matrix
3333 testcases_json=$(echo "$testcase_dirs" | jq -R -s -c 'split("\n")[:-1]')
3434 echo "testcases=$testcases_json" >> $GITHUB_OUTPUT
3535
3636 integration-tests :
3737 needs : [discover-testcases]
3838 runs-on : ubuntu-latest
39+ container :
40+ image : ghcr.io/astral-sh/uv:python3.12-bookworm
41+ env :
42+ UIPATH_JOB_KEY : " 3a03d5cb-fa21-4021-894d-a8e2eda0afe0"
3943 strategy :
4044 fail-fast : false
4145 matrix :
4246 testcase : ${{ fromJson(needs.discover-testcases.outputs.testcases) }}
43- environment : [alpha, cloud]
47+ environment : [alpha, staging] # temporary disable [ cloud]
4448 use_azure_chat : [true, false]
45-
49+
4650 name : " ${{ matrix.testcase }} / ${{ matrix.environment }} / ${{ matrix.use_azure_chat && 'UiPathAzureChatOpenAI' || 'UiPathChat' }}"
47-
51+
4852 steps :
4953 - name : Checkout code
5054 uses : actions/checkout@v4
5155
52- - name : Set up Docker Buildx
53- uses : docker/setup-buildx-action@v3
54-
55- - name : Build Docker image
56- run : |
57- echo "Building Docker image for ${{ matrix.testcase }} at $(date)"
58- docker build -f testcases/Dockerfile \
59- -t uipath-langchain-testbase:latest \
60- .
61- echo "Docker image built at $(date)"
56+ - name : Install Dependencies
57+ run : uv sync
6258
6359 - name : Run testcase
6460 env :
65- CLIENT_ID : ${{ matrix.environment == 'alpha' && secrets.ALPHA_TEST_CLIENT_ID || secrets.CLOUD_TEST_CLIENT_ID }}
66- CLIENT_SECRET : ${{ matrix.environment == 'alpha' && secrets.ALPHA_TEST_CLIENT_SECRET || secrets.CLOUD_TEST_CLIENT_SECRET }}
67- BASE_URL : ${{ matrix.environment == 'alpha' && secrets.ALPHA_BASE_URL || secrets.CLOUD_BASE_URL }}
61+ CLIENT_ID : ${{ matrix.environment == 'alpha' && secrets.ALPHA_TEST_CLIENT_ID || matrix.environment == 'staging' && secrets.STAGING_TEST_CLIENT_ID || matrix.environment == 'cloud' && secrets.CLOUD_TEST_CLIENT_ID }}
62+ CLIENT_SECRET : ${{ matrix.environment == 'alpha' && secrets.ALPHA_TEST_CLIENT_SECRET || matrix.environment == 'staging' && secrets.STAGING_TEST_CLIENT_SECRET || matrix.environment == 'cloud' && secrets.CLOUD_TEST_CLIENT_SECRET }}
63+ BASE_URL : ${{ matrix.environment == 'alpha' && secrets.ALPHA_BASE_URL || matrix.environment == 'staging' && secrets.STAGING_BASE_URL || matrix.environment == 'cloud' && secrets.CLOUD_BASE_URL }}
6864 USE_AZURE_CHAT : ${{ matrix.use_azure_chat }}
65+ working-directory : testcases/${{ matrix.testcase }}
6966 run : |
7067 echo "Running testcase: ${{ matrix.testcase }}"
7168 echo "Environment: ${{ matrix.environment }}"
7269 echo "LLM: ${{ matrix.use_azure_chat && 'UiPathAzureChatOpenAI' || 'UiPathChat' }}"
7370 echo "USE_AZURE_CHAT: ${{ matrix.use_azure_chat }}"
74-
75- docker run --rm \
76- -e CLIENT_ID="$CLIENT_ID" \
77- -e CLIENT_SECRET="$CLIENT_SECRET" \
78- -e BASE_URL="$BASE_URL" \
79- -e USE_AZURE_CHAT="$USE_AZURE_CHAT" \
80- uipath-langchain-testbase:latest \
81- bash /app/testcases/${{ matrix.testcase }}/run.sh
71+
72+ # Execute the testcase run script directly
73+ bash run.sh
74+ bash ../common/validate_output.sh
0 commit comments