-
Notifications
You must be signed in to change notification settings - Fork 1
chore: add cross repo test action #85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| test:uipath-langchain: | ||
| - changed-files: | ||
| - any-glob-to-any-file: ['src/**/*.py'] | ||
|
|
||
| test:uipath: | ||
| - changed-files: | ||
| - any-glob-to-any-file: ['src/**/*.py'] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| name: Auto Label PRs | ||
|
|
||
| on: | ||
| pull_request: | ||
| types: [opened, synchronize, reopened] | ||
|
|
||
| permissions: | ||
| contents: read | ||
| pull-requests: write | ||
|
|
||
| jobs: | ||
| label: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Label PR | ||
| uses: actions/labeler@v5 | ||
| with: | ||
| configuration-path: '.github/labeler.yml' | ||
| sync-labels: true |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,144 @@ | ||||||
| name: Test UiPath Langchain | ||||||
|
|
||||||
| on: | ||||||
| pull_request: | ||||||
| types: [ opened, synchronize, reopened, labeled ] | ||||||
|
|
||||||
| jobs: | ||||||
| test-uipath-langchain: | ||||||
| runs-on: ${{ matrix.os }} | ||||||
| strategy: | ||||||
| matrix: | ||||||
| python-version: [ "3.11", "3.12", "3.13" ] | ||||||
| os: [ ubuntu-latest, windows-latest ] | ||||||
|
|
||||||
| permissions: | ||||||
| contents: read | ||||||
|
|
||||||
| # Only run if PR has the test:uipath-langchain label | ||||||
| if: contains(github.event.pull_request.labels.*.name, 'test:uipath-langchain') | ||||||
|
|
||||||
| steps: | ||||||
| - name: Checkout uipath-runtime-python | ||||||
| uses: actions/checkout@v4 | ||||||
| with: | ||||||
| path: 'uipath-runtime-python' | ||||||
|
|
||||||
| - name: Setup uv | ||||||
| uses: astral-sh/setup-uv@v5 | ||||||
|
|
||||||
| - name: Setup Python | ||||||
| uses: actions/setup-python@v5 | ||||||
| with: | ||||||
| python-version: ${{ matrix.python-version }} | ||||||
|
|
||||||
| - name: Build uipath-runtime package | ||||||
| working-directory: uipath-runtime-python | ||||||
| run: uv build | ||||||
|
|
||||||
| - name: Checkout uipath-langchain-python | ||||||
| uses: actions/checkout@v4 | ||||||
| with: | ||||||
| repository: 'UiPath/uipath-langchain-python' | ||||||
| path: 'uipath-langchain-python' | ||||||
|
|
||||||
| - name: Update uipath-runtime version | ||||||
| shell: bash | ||||||
| working-directory: uipath-langchain-python | ||||||
| run: uv add ../uipath-runtime-python/dist/*.whl --dev | ||||||
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
|
||||||
| - name: Run uipath-langchain tests | ||||||
| working-directory: uipath-langchain-python | ||||||
| run: | | ||||||
| uv sync --all-extras | ||||||
| uv run pytest | ||||||
|
|
||||||
| discover-testcases: | ||||||
| runs-on: ubuntu-latest | ||||||
| permissions: | ||||||
| contents: read | ||||||
| needs: [test-uipath-langchain] | ||||||
| outputs: | ||||||
| testcases: ${{ steps.discover.outputs.testcases }} | ||||||
| steps: | ||||||
| - name: Checkout uipath-langchain-python | ||||||
| uses: actions/checkout@v4 | ||||||
| with: | ||||||
| repository: 'UiPath/uipath-langchain-python' | ||||||
| path: 'uipath-langchain-python' | ||||||
|
|
||||||
| - name: Discover testcases | ||||||
| id: discover | ||||||
| working-directory: uipath-langchain-python | ||||||
| run: | | ||||||
| # Find all testcase folders (excluding common folders like README, etc.) | ||||||
| testcase_dirs=$(find testcases -maxdepth 1 -type d -name "*-*" | sed 's|testcases/||' | sort) | ||||||
|
|
||||||
| echo "Found testcase directories:" | ||||||
| echo "$testcase_dirs" | ||||||
|
|
||||||
| # Convert to JSON array for matrix | ||||||
| testcases_json=$(echo "$testcase_dirs" | jq -R -s -c 'split("\n")[:-1]') | ||||||
| echo "testcases=$testcases_json" >> $GITHUB_OUTPUT | ||||||
|
|
||||||
| run-uipath-langchain-integration-tests: | ||||||
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| runs-on: ubuntu-latest | ||||||
| needs: [discover-testcases] | ||||||
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| container: | ||||||
| image: ghcr.io/astral-sh/uv:python3.12-bookworm | ||||||
| env: | ||||||
| UIPATH_JOB_KEY: "3a03d5cb-fa21-4021-894d-a8e2eda0afe0" | ||||||
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| permissions: | ||||||
| contents: read | ||||||
| strategy: | ||||||
| fail-fast: false | ||||||
| matrix: | ||||||
| testcase: ${{ fromJson(needs.discover-testcases.outputs.testcases) }} | ||||||
| environment: [alpha, staging] # temporary disable [cloud] | ||||||
|
||||||
| environment: [alpha, staging] # temporary disable [cloud] | |
| environment: [alpha, staging] # TODO: Re-enable cloud environment in test matrix |
Copilot
AI
Feb 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The wildcard pattern '../uipath-runtime-python/dist/*.whl' in the integration tests assumes only one wheel file will be built. If multiple wheel files exist in the dist directory, the 'uv add' command behavior may be unpredictable. Consider adding a cleanup step before building or being more specific about which wheel to add.
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,141 @@ | ||||||
| name: Test UiPath | ||||||
|
||||||
|
|
||||||
| on: | ||||||
| pull_request: | ||||||
| types: [ opened, synchronize, reopened, labeled ] | ||||||
|
|
||||||
| jobs: | ||||||
| test-uipath: | ||||||
| runs-on: ${{ matrix.os }} | ||||||
| strategy: | ||||||
| matrix: | ||||||
| python-version: [ "3.11", "3.12", "3.13" ] | ||||||
| os: [ ubuntu-latest, windows-latest ] | ||||||
|
|
||||||
| permissions: | ||||||
| contents: read | ||||||
|
|
||||||
| # Only run if PR has the test:uipath label | ||||||
| if: contains(github.event.pull_request.labels.*.name, 'test:uipath') | ||||||
|
|
||||||
| steps: | ||||||
| - name: Checkout uipath-runtime-python | ||||||
| uses: actions/checkout@v4 | ||||||
| with: | ||||||
| path: 'uipath-runtime-python' | ||||||
|
|
||||||
| - name: Setup uv | ||||||
| uses: astral-sh/setup-uv@v5 | ||||||
|
|
||||||
| - name: Setup Python | ||||||
| uses: actions/setup-python@v5 | ||||||
| with: | ||||||
| python-version: ${{ matrix.python-version }} | ||||||
|
|
||||||
| - name: Build uipath-runtime package | ||||||
| working-directory: uipath-runtime-python | ||||||
| run: uv build | ||||||
|
|
||||||
| - name: Checkout uipath-python | ||||||
| uses: actions/checkout@v4 | ||||||
| with: | ||||||
| repository: 'UiPath/uipath-python' | ||||||
| path: 'uipath-python' | ||||||
|
|
||||||
| - name: Update uipath-runtime version | ||||||
| shell: bash | ||||||
| working-directory: uipath-python | ||||||
| run: uv add ../uipath-runtime-python/dist/*.whl --dev | ||||||
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
|
||||||
| - name: Run uipath tests | ||||||
| working-directory: uipath-python | ||||||
| run: | | ||||||
| uv sync --all-extras | ||||||
| uv run pytest | ||||||
|
|
||||||
| discover-testcases: | ||||||
| runs-on: ubuntu-latest | ||||||
| permissions: | ||||||
| contents: read | ||||||
| needs: [test-uipath] | ||||||
| outputs: | ||||||
| testcases: ${{ steps.discover.outputs.testcases }} | ||||||
| steps: | ||||||
| - name: Checkout uipath-python | ||||||
| uses: actions/checkout@v4 | ||||||
| with: | ||||||
| repository: 'UiPath/uipath-python' | ||||||
| path: 'uipath-python' | ||||||
|
|
||||||
| - name: Discover testcases | ||||||
| id: discover | ||||||
| working-directory: uipath-python | ||||||
| run: | | ||||||
| # Find all testcase folders (excluding common folders like README, etc.) | ||||||
| testcase_dirs=$(find testcases -maxdepth 1 -type d -name "*-*" | sed 's|testcases/||' | sort) | ||||||
|
|
||||||
| echo "Found testcase directories:" | ||||||
| echo "$testcase_dirs" | ||||||
|
|
||||||
| # Convert to JSON array for matrix | ||||||
| testcases_json=$(echo "$testcase_dirs" | jq -R -s -c 'split("\n")[:-1]') | ||||||
| echo "testcases=$testcases_json" >> $GITHUB_OUTPUT | ||||||
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
|
||||||
| run-uipath-integration-tests: | ||||||
| runs-on: ubuntu-latest | ||||||
| needs: [discover-testcases] | ||||||
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| container: | ||||||
| image: ghcr.io/astral-sh/uv:python3.12-bookworm | ||||||
| env: | ||||||
| UIPATH_JOB_KEY: "3a03d5cb-fa21-4021-894d-a8e2eda0afe0" | ||||||
radu-mocanu marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| permissions: | ||||||
| contents: read | ||||||
| strategy: | ||||||
| fail-fast: false | ||||||
| matrix: | ||||||
| testcase: ${{ fromJson(needs.discover-testcases.outputs.testcases) }} | ||||||
| environment: [alpha, staging] # temporary disable [cloud] | ||||||
|
||||||
| environment: [alpha, staging] # temporary disable [cloud] | |
| environment: [alpha, staging] # TODO: Re-enable cloud environment when it is ready |
Copilot
AI
Feb 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The wildcard pattern '../uipath-runtime-python/dist/*.whl' in the integration tests assumes only one wheel file will be built. If multiple wheel files exist in the dist directory, the 'uv add' command behavior may be unpredictable. Consider adding a cleanup step before building or being more specific about which wheel to add.
Copilot
AI
Feb 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The matrix.use_azure_chat variable is referenced in the environment variable USE_AZURE_CHAT and in the debug output, but it's not defined in the matrix strategy. Unlike the test-uipath-langchain.yml workflow, this workflow's matrix only includes 'testcase' and 'environment'. Either add 'use_azure_chat: [true, false]' to the matrix at line 95-97, or remove the references to this variable if it's not needed for the uipath-python tests.
Uh oh!
There was an error while loading. Please reload this page.