@@ -55,59 +55,61 @@ test:lint-and-test:
5555 - echo -e "${TXT_HEAD}Prepare docker containers${TXT_CLEAR}"
5656 - $DOCKER_COMPOSE up --detach --wait --wait-timeout 120
5757
58+ - $DOCKER_COMPOSE exec opsiserver43-dev ping -c1 opsiserver43-cs
59+
5860 - echo -e "${TXT_HEAD}Run linters${TXT_CLEAR}"
59- - $DOCKER_COMPOSE exec opsiserver43-dev poetry run ruff check opsiconfd tests perftest
60- - $DOCKER_COMPOSE exec opsiserver43-dev poetry run mypy opsiconfd tests perftest
61+ - $DOCKER_COMPOSE exec opsiserver43-dev uv run ruff check opsiconfd tests perftest
62+ - $DOCKER_COMPOSE exec opsiserver43-dev uv run mypy opsiconfd tests perftest
6163
6264 - echo -e "${TXT_HEAD}Run pytest${TXT_CLEAR}"
63- - $DOCKER_COMPOSE exec opsiserver43-dev poetry run pytest -x --tb=short -o junit_family=xunit2 --junitxml=testreport.xml --cov-append --cov opsiconfd --cov-report term --cov-report xml -v tests
65+ - $DOCKER_COMPOSE exec opsiserver43-dev uv run pytest -x --tb=short -o junit_family=xunit2 --junitxml=testreport.xml --cov-append --cov opsiconfd --cov-report term --cov-report xml -v tests
6466
6567 - echo -e "${TXT_HEAD}Run perftests${TXT_CLEAR}"
66- - $DOCKER_COMPOSE exec opsiserver43-dev poetry run opsiconfd -c tests/data/default-opsiconfd.conf --workers=1 --log-level-file=5 --log-file=opsiconfd-perftest.log --max-session-per-ip=20000 &
68+ - $DOCKER_COMPOSE exec opsiserver43-dev uv run opsiconfd -c tests/data/default-opsiconfd.conf --workers=1 --log-level-file=5 --log-file=opsiconfd-perftest.log --max-session-per-ip=20000 &
6769 - sleep 10
6870
6971 - echo -e "${TXT_HEAD}Run opsiconfd-perftest${TXT_CLEAR}"
7072 # Average request time has to be faster than 10 ms
7173 - |
72- $DOCKER_COMPOSE exec opsiserver43-dev poetry run ./perftest/opsiconfd-perftest.py -l perftest/tests/test_session_loading.json --max-errors 0 --max-avg-seconds-per-request 0.01 --bencher-results bencher-results.json || (
74+ $DOCKER_COMPOSE exec opsiserver43-dev uv run ./perftest/opsiconfd-perftest.py -l perftest/tests/test_session_loading.json --max-errors 0 --max-avg-seconds-per-request 0.01 --bencher-results bencher-results.json || (
7375 echo -e "${TXT_ERROR}opsiconfd-perftest.py failed${TXT_CLEAR}"
7476 cat opsiconfd-perftest.log
7577 exit 1
7678 )
7779
7880 - echo -e "${TXT_HEAD}Run opsiconfd-backend-perftest${TXT_CLEAR}"
7981 - |
80- $DOCKER_COMPOSE exec opsiserver43-dev poetry run ./perftest/opsiconfd-backend-perftest.py --products 100 --clients 100 --iterations 5 --max-real 30000 || (
82+ $DOCKER_COMPOSE exec opsiserver43-dev uv run ./perftest/opsiconfd-backend-perftest.py --products 100 --clients 100 --iterations 5 --max-real 30000 || (
8183 echo -e "${TXT_ERROR}opsiconfd-backend-perftest.py failed${TXT_CLEAR}"
8284 cat opsiconfd-perftest.log
8385 exit 1
8486 )
8587
8688 - echo -e "${TXT_HEAD}Run file-download memory test${TXT_CLEAR}"
8789 - |
88- $DOCKER_COMPOSE exec opsiserver43-dev poetry run python ./perftest/file-download.py --clients=5 --file-size=500 --min-download-time=20 --memory-usage-limit 20 || (
90+ $DOCKER_COMPOSE exec opsiserver43-dev uv run python ./perftest/file-download.py --clients=5 --file-size=500 --min-download-time=20 --memory-usage-limit 20 || (
8991 echo -e "${TXT_ERROR}file-download.py failed${TXT_CLEAR}"
9092 cat opsiconfd-perftest.log
9193 exit 1
9294 )
9395 - |
94- $DOCKER_COMPOSE exec opsiserver43-dev poetry run python ./perftest/file-download.py --clients=10 --file-size=200 --min-download-time=20 --memory-usage-limit 20 --range-requests || (
96+ $DOCKER_COMPOSE exec opsiserver43-dev uv run python ./perftest/file-download.py --clients=10 --file-size=200 --min-download-time=20 --memory-usage-limit 20 --range-requests || (
9597 echo -e "${TXT_ERROR}file-download.py failed (range-requests)${TXT_CLEAR}"
9698 cat opsiconfd-perftest.log
9799 exit 1
98100 )
99101
100102 - echo -e "${TXT_HEAD}Run messagebus websocket load test${TXT_CLEAR}"
101103 - |
102- $DOCKER_COMPOSE exec opsiserver43-dev poetry run ./perftest/messagebus-clients.py --clients 1000 --event-interval 30 --start-gap 20 || (
104+ $DOCKER_COMPOSE exec opsiserver43-dev uv run ./perftest/messagebus-clients.py --clients 1000 --event-interval 30 --start-gap 20 || (
103105 echo -e "${TXT_ERROR}messagebus-clients.py failed${TXT_CLEAR}"
104106 cat opsiconfd-perftest.log
105107 exit 1
106108 )
107109
108110 - echo -e "${TXT_HEAD}Run opsiconfd get-config duration test${TXT_CLEAR}"
109111 - |
110- $DOCKER_COMPOSE exec opsiserver43-dev poetry run ./perftest/bencher-command.py -r bencher-results.json -m opsiconfd-get-config-duration -x 1.0 -i 6 poetry run opsiconfd get-config || (
112+ $DOCKER_COMPOSE exec opsiserver43-dev uv run ./perftest/bencher-command.py -r bencher-results.json -m opsiconfd-get-config-duration -x 1.0 -i 6 uv run opsiconfd get-config || (
111113 echo -e "${TXT_ERROR}bencher-command.py failed${TXT_CLEAR}"
112114 exit 1
113115 )
@@ -130,11 +132,14 @@ build:linux-pyinstaller:
130132 tags :
131133 - linux-docker-x64-hetzner
132134 script :
135+ - export UV_PYTHON_PREFERENCE="only-managed"
136+ - export UV_PYTHON="3.13"
133137 - TRANSIFEX_MIN_REVIEW_RATE=0.0
134138 - ' [ "$CI_COMMIT_TAG" = "" ] || TRANSIFEX_MIN_REVIEW_RATE=1.0'
135139 - opsi-dev-cli self upgrade
136- - poetry install
137- - poetry run opsi-dev-cli -l debug pyinstaller build
140+ - rm -rf .venv
141+ - uv sync --frozen
142+ - uv run opsi-dev-cli -l debug pyinstaller build
138143 - mv opsiconfd opsiconfd.src
139144 - mv dist/opsiconfd ./opsiconfd-amd64
140145 # Check if binary is working
@@ -150,11 +155,14 @@ build:arm64-pyinstaller:
150155 tags :
151156 - linux-arm64
152157 script :
158+ - export UV_PYTHON_PREFERENCE="only-managed"
159+ - export UV_PYTHON="3.13"
153160 - TRANSIFEX_MIN_REVIEW_RATE=0.0
154161 - ' [ "$CI_COMMIT_TAG" = "" ] || TRANSIFEX_MIN_REVIEW_RATE=1.0'
155162 - opsi-dev-cli self upgrade
156- - poetry install
157- - poetry run opsi-dev-cli -l debug pyinstaller build
163+ - rm -rf .venv
164+ - uv sync --frozen
165+ - uv run opsi-dev-cli -l debug pyinstaller build
158166 - mv opsiconfd opsiconfd.src
159167 - mv dist/opsiconfd ./opsiconfd-arm64
160168 # Check if binary is working
0 commit comments