Skip to content

Commit b9014c0

Browse files
committed
install rust
1 parent 58b8ddc commit b9014c0

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

installation_and_upgrade/ibex_install_utils/install_tasks.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ def run_developer_update(self) -> None:
296296
self._system_tasks.install_or_upgrade_git()
297297
self._system_tasks.update_kafka_topics()
298298
self._system_tasks.create_virtual_envs()
299+
self._system_tasks.update_rust()
299300

300301
def run_vhd_creation(self) -> None:
301302
"""Automated job which creates a set of VHDs containing all IBEX components.

installation_and_upgrade/ibex_install_utils/tasks/system_tasks.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
import os
33
import shutil
44
import subprocess
5+
import tempfile
56
import time
67
from pathlib import Path
78
from time import sleep
89

910
import psutil
11+
import requests
1012
from ibex_install_utils.admin_runner import AdminCommandBuilder
1113
from ibex_install_utils.exceptions import ErrorInTask, UserStop
1214
from ibex_install_utils.kafka_utils import add_required_topics
@@ -423,6 +425,29 @@ def install_or_upgrade_git(self) -> None:
423425
"Download and Install Git from https://git-scm.com/downloads"
424426
)
425427

428+
@task("Update rust via rustup")
429+
def update_rust(self) -> None:
430+
with tempfile.TemporaryDirectory() as tempdir:
431+
installer = os.path.join(tempdir, "rustup-init.exe")
432+
installer_response = requests.get("https://win.rustup.rs/x86_64")
433+
installer_response.raise_for_status()
434+
with open(installer, "wb") as f:
435+
f.write(installer_response.content)
436+
437+
RunProcess(
438+
working_dir=os.curdir,
439+
executable_directory=tempdir,
440+
executable_file="rustup-init.exe",
441+
prog_args=["-y", "--component", "clippy,rustfmt"],
442+
).run()
443+
444+
RunProcess(
445+
working_dir=os.curdir,
446+
executable_file=os.path.join(os.environ["USERPROFILE"], ".cargo", "bin", "rustup.exe"),
447+
prog_args=["update"],
448+
expected_return_codes=0,
449+
).run()
450+
426451
@task("Update visual studio redistributable files")
427452
def install_or_upgrade_vc_redist(self) -> None:
428453
"""

installation_and_upgrade/requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ six
1010
aioca
1111
pyepics
1212
epicscorelibs
13+
certifi
14+
requests

0 commit comments

Comments
 (0)