1111 - ' WORKSPACE'
1212 - ' src/**'
1313 pull_request :
14- branches : [ main ]
1514 paths-ignore :
1615 - ' WORKSPACE'
1716 - ' src/**'
@@ -34,63 +33,41 @@ jobs:
3433 runs-on : ${{ matrix.os }}
3534 strategy :
3635 matrix :
37- # Python 3.6 is not supported on Ubuntu 22.04.
3836 os : [ubuntu-22.04, windows-latest]
39- python-version : [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"]
40- include :
41- - os : windows-latest
42- python-version : 3.6
4337
4438 steps :
45- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
39+ - uses : actions/checkout@v4
4640 with :
4741 fetch-depth : 0
48- - name : Set up Python ${{ matrix.python-version }}
49- uses : actions/setup-python@v5
42+
43+ - name : Install uv
44+ uses : astral-sh/setup-uv@v3
5045 with :
51- python-version : ${{ matrix.python-version }}
46+ enable-cache : true
47+ cache-dependency-glob : " uv.lock"
48+
5249 - name : Set up JDK 1.8
5350 uses : actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
5451 with :
5552 java-version : 8
56- distribution : ' temurin'
57- - name : Install specific dependencies in 3.6
58- if : matrix.python-version == '3.6'
59- uses : nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
60- with :
61- max_attempts : 3
62- timeout_minutes : 5
63- retry_on : error
64- command : |
65- python -m pip install --upgrade pip
66- pip install pipenv==2021.11.5
67- pipenv install --dev --python ${{ matrix.python-version }}
53+ distribution : ' temurin'
54+
6855 - name : Install dependencies
69- if : matrix.python-version != '3.6'
70- uses : nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
71- with :
72- max_attempts : 3
73- timeout_minutes : 5
74- retry_on : error
75- command : |
76- python -m pip install --upgrade pip
77- pip install pipenv
78- pipenv install --dev --python ${{ matrix.python-version }}
56+ run : uv sync --dev
7957 - name : Build
8058 run : |
81- pipenv run pip list
82- pipenv run build
83- pipenv run install
59+ uv pip list
60+ uv run poe build
61+
8462 - name : Type check
85- run : pipenv run type
63+ run : uv run poe type
64+
8665 - name : Lint with flake8
87- run : |
88- # stop the build if there are Python syntax errors or undefined names
89- pipenv run lint
66+ run : uv run poe lint
9067 - name : Pull request validation
9168 run : |
92- # Install Launchable CLI from this repos 's code
93- pip3 install . > /dev/null
69+ # Install Launchable CLI from this repo 's code as a global tool
70+ uv tool install .
9471
9572 set -x
9673
9976 # Tell Launchable about the build you are producing and testing
10077 launchable record build --name ${GITHUB_RUN_ID}
10178
102- launchable record session --build ${GITHUB_RUN_ID} --flavor os=${{ matrix.os }} --flavor python=${{ matrix.python-version }} > session.txt
79+ launchable record session --build ${GITHUB_RUN_ID} --flavor os=${{ matrix.os }} --flavor python=3.13 > session.txt
10380
10481 # Find 25% of the relevant tests to run for this change
10582 find tests -name test_*.py | grep -v tests/data | launchable subset --target 25% --session $(cat session.txt) --rest launchable-remainder.txt file > subset.txt
11289 trap record EXIT
11390
11491 # Test subset of tests
115- pipenv run test-xml $(tr '\r\n' '\n' < subset.txt)
92+ uv run poe test-xml $(tr '\r\n' '\n' < subset.txt)
11693
11794 # Test rest of tests
118- pipenv run test-xml $(tr '\r\n' '\n' < launchable-remainder.txt)
95+ uv run poe test-xml $(tr '\r\n' '\n' < launchable-remainder.txt)
11996 shell : bash
0 commit comments