chore(deps): bump pillow from 11.3.0 to 12.1.1 in /packages/uipath #4863
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: uipath - Integration Tests | |
| on: | |
| pull_request: | |
| branches: [ main ] | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| actions: read | |
| jobs: | |
| detect-changed-packages: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| packages: ${{ steps.detect.outputs.packages }} | |
| count: ${{ steps.detect.outputs.count }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Detect changed packages | |
| id: detect | |
| env: | |
| GITHUB_EVENT_NAME: ${{ github.event_name }} | |
| BASE_SHA: ${{ github.event.pull_request.base.sha }} | |
| HEAD_SHA: ${{ github.event.pull_request.head.sha }} | |
| run: python .github/scripts/detect_changed_packages.py | |
| discover-testcases: | |
| needs: [detect-changed-packages] | |
| if: needs.detect-changed-packages.outputs.count > 0 | |
| runs-on: ubuntu-latest | |
| outputs: | |
| testcases: ${{ steps.discover.outputs.testcases }} | |
| count: ${{ steps.discover.outputs.count }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Discover testcases | |
| id: discover | |
| env: | |
| PACKAGES: ${{ needs.detect-changed-packages.outputs.packages }} | |
| run: | | |
| # Discover testcases from all affected packages | |
| all_testcases="[]" | |
| for package in $(echo "$PACKAGES" | jq -r '.[]'); do | |
| testcases_dir="packages/$package/testcases" | |
| if [ -d "$testcases_dir" ]; then | |
| testcase_dirs=$(find "$testcases_dir" -maxdepth 1 -type d -name "*-*" | sed "s|$testcases_dir/||" | sort) | |
| if [ -n "$testcase_dirs" ]; then | |
| echo "Found testcases in $package:" | |
| echo "$testcase_dirs" | |
| # Add as package/testcase entries | |
| package_testcases=$(echo "$testcase_dirs" | jq -R -c --arg pkg "$package" '{package: $pkg, testcase: .}') | |
| all_testcases=$(echo "$all_testcases" | jq -c --argjson new "[$( echo "$package_testcases" | paste -sd, )]" '. + $new') | |
| fi | |
| fi | |
| done | |
| echo "All testcases: $all_testcases" | |
| count=$(echo "$all_testcases" | jq 'length') | |
| echo "testcases=$all_testcases" >> $GITHUB_OUTPUT | |
| echo "count=$count" >> $GITHUB_OUTPUT | |
| integration-tests: | |
| needs: [discover-testcases] | |
| if: needs.discover-testcases.outputs.count > 0 | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/astral-sh/uv:python3.12-bookworm | |
| env: | |
| UIPATH_JOB_KEY: "3a03d5cb-fa21-4021-894d-a8e2eda0afe0" | |
| UIPATH_TRACING_ENABLED: false | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| testcase: ${{ fromJson(needs.discover-testcases.outputs.testcases) }} | |
| environment: [alpha, cloud, staging] | |
| name: "${{ matrix.testcase.testcase }} / ${{ matrix.environment }}" | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| working-directory: packages/${{ matrix.testcase.package }} | |
| run: uv sync | |
| - name: Run testcase | |
| env: | |
| 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 }} | |
| 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 }} | |
| BASE_URL: ${{ matrix.environment == 'alpha' && secrets.ALPHA_BASE_URL || matrix.environment == 'staging' && secrets.STAGING_BASE_URL || matrix.environment == 'cloud' && secrets.CLOUD_BASE_URL }} | |
| USE_AZURE_CHAT: ${{ matrix.use_azure_chat }} | |
| # App Insights for telemetry testing | |
| TELEMETRY_CONNECTION_STRING: ${{ secrets.APPLICATIONINSIGHTS_CONNECTION_STRING }} | |
| APP_INSIGHTS_APP_ID: ${{ secrets.APP_INSIGHTS_APP_ID }} | |
| APP_INSIGHTS_API_KEY: ${{ secrets.APP_INSIGHTS_API_KEY }} | |
| working-directory: packages/${{ matrix.testcase.package }}/testcases/${{ matrix.testcase.testcase }} | |
| run: | | |
| # If any errors occur execution will stop with exit code | |
| set -e | |
| echo "Running testcase: ${{ matrix.testcase.testcase }}" | |
| echo "Package: ${{ matrix.testcase.package }}" | |
| echo "Environment: ${{ matrix.environment }}" | |
| echo "Working directory: $(pwd)" | |
| # Execute the testcase run script directly | |
| bash run.sh | |
| bash ../common/validate_output.sh | |
| summarize-results: | |
| needs: [detect-changed-packages, discover-testcases, integration-tests] | |
| runs-on: ubuntu-latest | |
| if: always() | |
| steps: | |
| - name: Check integration tests status | |
| run: | | |
| if [[ "${{ needs.detect-changed-packages.outputs.count }}" == "0" ]]; then | |
| echo "No packages changed - skipping integration tests" | |
| exit 0 | |
| fi | |
| if [[ "${{ needs.discover-testcases.outputs.count }}" == "0" ]]; then | |
| echo "No testcases found for changed packages - skipping" | |
| exit 0 | |
| fi | |
| if [[ "${{ needs.integration-tests.result }}" == "success" ]]; then | |
| echo "All integration tests passed" | |
| else | |
| echo "Some integration tests failed" | |
| exit 1 | |
| fi |