@@ -31,16 +31,12 @@ jobs:
3131 python :
3232 - " 3.10"
3333 steps :
34- - name : Check out code
35- uses : actions/checkout@v4
36- - name : Setup Python
37- uses : actions/setup-python@v5
34+ - uses : actions/checkout@v4
35+ - uses : actions/setup-python@v5
3836 with :
3937 python-version : ${{ matrix.python }}
40- - name : Install dependencies
41- run : pip install tox
42- - name : Run validation tests
43- run : tox -e validate
38+ - uses : astral-sh/setup-uv@v3.2.2
39+ - run : uvx -p ${{ matrix.python }} tox -e validate
4440
4541 unit-tests :
4642 name : Unit tests
@@ -56,16 +52,12 @@ jobs:
5652 - " 3.12"
5753 - " 3.13"
5854 steps :
59- - name : Check out code
60- uses : actions/checkout@v4
61- - name : Setup Python
62- uses : actions/setup-python@v5
55+ - uses : actions/checkout@v4
56+ - uses : actions/setup-python@v5
6357 with :
6458 python-version : ${{ matrix.python }}
65- - name : Install dependencies
66- run : pip install tox
67- - name : Run unit tests
68- run : tox -e py3
59+ - uses : astral-sh/setup-uv@v3.2.2
60+ - run : uvx -p ${{ matrix.python }} tox -e unit
6961
7062 integration :
7163 name : Integration
@@ -85,21 +77,14 @@ jobs:
8577 - " 3.3/stable"
8678 - " 3.4/stable"
8779 - " 3.5/stable"
88- # A bunch of tests fail with juju.errors.JujuError: base: ubuntu@15.04/stable
89- # * test_subordinate_units
90- # * test_destroy_unit
91- # * test_ssh
92- # * ...
93- # - "3.6/beta"
80+ - " 3.6/candidate"
9481 steps :
95- - name : Check out code
96- uses : actions/checkout@v4
97- - name : Setup Python
98- uses : actions/setup-python@v5
82+ - uses : actions/checkout@v4
83+ - uses : actions/setup-python@v5
9984 with :
10085 python-version : ${{ matrix.python }}
101- - name : Setup operator environment
102- uses : charmed-kubernetes/actions-operator@main
86+ - uses : astral-sh/setup-uv@v3.2.2
87+ - uses : charmed-kubernetes/actions-operator@main
10388 with :
10489 provider : lxd
10590 juju-channel : ${{ matrix.juju }}
@@ -131,9 +116,7 @@ jobs:
131116 # # set model defaults
132117 # juju model-defaults apt-http-proxy=$PROXY apt-https-proxy=$PROXY juju-http-proxy=$PROXY juju-https-proxy=$PROXY snap-http-proxy=$PROXY snap-https-proxy=$PROXY
133118 # juju model-defaults
134- - name : Run integration
135- # Force one single concurrent test
136- run : tox -e integration
119+ - run : uvx -p ${{ matrix.python }} tox -e integration
137120
138121 integration-quarantine :
139122 name : Quarantined Integration Tests
@@ -151,16 +134,13 @@ jobs:
151134 - " 3.4/stable"
152135 - " 3.5/stable"
153136 steps :
154- - name : Check out code
155- uses : actions/checkout@v4
156- - name : Setup Python
157- uses : actions/setup-python@v5
137+ - uses : actions/checkout@v4
138+ - uses : actions/setup-python@v5
158139 with :
159140 python-version : ${{ matrix.python }}
160- - name : Setup operator environment
161- uses : charmed-kubernetes/actions-operator@main
141+ - uses : astral-sh/setup-uv@v3.2.2
142+ - uses : charmed-kubernetes/actions-operator@main
162143 with :
163144 provider : lxd
164145 juju-channel : ${{ matrix.juju }}
165- - name : Run integration
166- run : tox -e integration-quarantine
146+ - run : uvx -p ${{ matrix.python }} tox -e integration-quarantine
0 commit comments