1111 - ' WORKSPACE'
1212 - ' src/**'
1313 pull_request :
14- branches : [ main ]
1514 paths-ignore :
1615 - ' WORKSPACE'
1716 - ' src/**'
@@ -34,63 +33,44 @@ 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
37+ python-version : ["3.13"]
4338
4439 steps :
45- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
40+ - uses : actions/checkout@v4
4641 with :
4742 fetch-depth : 0
48- - name : Set up Python ${{ matrix.python-version }}
49- uses : actions/setup-python@v5
43+
44+ - name : Install uv
45+ uses : astral-sh/setup-uv@v3
5046 with :
51- python-version : ${{ matrix.python-version }}
47+ enable-cache : true
48+ cache-dependency-glob : " uv.lock"
49+
50+ - name : Set up Python ${{ matrix.python-version }}
51+ run : uv python install ${{ matrix.python-version }}
5252 - name : Set up JDK 1.8
5353 uses : actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
5454 with :
5555 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 }}
56+ distribution : ' temurin'
57+
6858 - 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 }}
59+ run : uv sync --dev
7960 - name : Build
8061 run : |
81- pipenv run pip list
82- pipenv run build
83- pipenv run install
62+ uv pip list
63+ uv run poe build
64+
8465 - name : Type check
85- run : pipenv run type
66+ run : uv run poe type
67+
8668 - name : Lint with flake8
87- run : |
88- # stop the build if there are Python syntax errors or undefined names
89- pipenv run lint
69+ run : uv run poe lint
9070 - name : Pull request validation
9171 run : |
92- # Install Launchable CLI from this repos 's code
93- pip3 install . > /dev/null
72+ # Install Launchable CLI from this repo 's code as a global tool
73+ uv tool install .
9474
9575 set -x
9676
11292 trap record EXIT
11393
11494 # Test subset of tests
115- pipenv run test-xml $(tr '\r\n' '\n' < subset.txt)
95+ uv run poe test-xml $(tr '\r\n' '\n' < subset.txt)
11696
11797 # Test rest of tests
118- pipenv run test-xml $(tr '\r\n' '\n' < launchable-remainder.txt)
98+ uv run poe test-xml $(tr '\r\n' '\n' < launchable-remainder.txt)
11999 shell : bash
0 commit comments