From 961f118b25a8a1e5d1682d50a643f8b5757820de Mon Sep 17 00:00:00 2001 From: Macy Libed Date: Fri, 7 Nov 2025 11:20:32 +0800 Subject: [PATCH 1/4] removing variant Signed-off-by: Macy Libed --- nebula/resources/template_micro_gen.yaml | 253 +++++++++++++++++++++++ nebula/tasks.py | 2 +- 2 files changed, 254 insertions(+), 1 deletion(-) create mode 100644 nebula/resources/template_micro_gen.yaml diff --git a/nebula/resources/template_micro_gen.yaml b/nebula/resources/template_micro_gen.yaml new file mode 100644 index 00000000..65b58be1 --- /dev/null +++ b/nebula/resources/template_micro_gen.yaml @@ -0,0 +1,253 @@ +# This file is used to generate questions for configuration file generation +# Here is the structure +#
-config: +# field_X: +# name: +# default: (Optional) +# help: +# options: (Optional) +# optional: (depends is used when its a dependent property) +# requires: : (Optional) +# netbox_field: + +board-config: + field_1: + name: board-name + default: max32650_adxl355 + help: "Project name commonly the daughter board connected to an RPI-based carrier" + optional: False + netbox_field: devices.name + field_2: + name: carrier + default: Maxim + help: "Carrier board name" + optional: True + netbox_field: devices.custom_fields.device_carrier + field_3: + name: daughter + help: "Daughter board name" + optional: True + netbox_field: devices.custom_fields.device_daughter + field_4: + name: monitoring-interface + default: uart + help: "Select monitoring interface" + options: [uart, netconsole] + optional: True + netbox_field: devices.custom_fields.monitoring_interface + field_5: + name: allow-jtag + default: False + help: "Allow use of JTAG" + options: ["True", "False"] + optional: False + netbox_field: devices.custom_fields.allow_jtag +network-config: + field_1: + name: dutip + default: 192.168.10.2 + help: "IP address of development board" + optional: False + netbox_field: devices.interfaces.mgmt.ip.address + field_2: + name: dhcp + help: "DHCP network to development board (False assumes static)" + optional: True + options: ["True", "False"] + requires: False:nic,nicip + netbox_field: devices.interfaces.mgmt.custom_fields.dhcp + field_4: + name: nicip + default: 192.168.10.1 + help: "NIC connected to development board ip address" + optional: depends + netbox_field: devices.interfaces.mgmt.custom_fields.nicip + field_5: + name: dutusername + default: analog + help: "Username to access Device" + optional: True + netbox_field: devices.custom_fields.username + field_6: + name: dutpassword + default: analog + help: "Password associated with the username." + optional: True + netbox_field: devices.custom_fields.password +pdu-config: + field_1: + name: pdu_type + default: cyberpower + help: "PDU type" + options: [cyberpower, vesync] + optional: True + requires: vesync:username,password + netbox_field: devices.power_ports.input.pdus[0].device_type.manufacturer.slug + field_2: + name: pduip + default: 192.168.30.2 + help: "IP address of PDU" + optional: True + netbox_field: devices.power_ports.input.pdus[0].primary_ip.address + field_3: + name: outlet + default: 1 + help: "Outlet number on PDU for dev board" + optional: True + type: int + netbox_field: devices.power_ports.input.connected_endpoint.outlet + field_4: + name: username + default: "username" + help: "Username needed for login (only need for vesync so far)" + optional: depends + netbox_field: devices.power_ports.input.pdus[0].custom_fields.username + field_5: + name: password + default: "password" + help: "Password needed for login (only need for vesync so far)" + optional: depends + netbox_field: devices.power_ports.input.pdus[0].custom_fields.password +uart-config: + field_1: + name: address + help: "UART Address" + optional: False + callback: get_uarts + netbox_field: devices.console_ports.UART.label + field_2: + name: baudrate + default: 115200 + help: "UART baudrate" + optional: False + netbox_field: devices.console_ports.UART.custom_fields.baudrate + field_3: + name: logfilename + default: my.log + help: "Output UART logfilename" + optional: False + netbox_field: devices.custom_fields.logfilename + field_4: + name: uboot_done_string + default: zynq-uboot> + help: "Uboot menu prompt" + optional: True + netbox_field: devices.custom_fields.uboot_done_string +system-config: + field_1: + name: tftpserverip + help: "TFTP server address" + optional: True + netbox_field: devices.config_context.tftpserverip + field_2: + name: tftpserverroot + help: "TFTP folder location" + optional: True + netbox_field: devices.config_context.tftpserverroot +driver-config: + field_1: + name: iio_device_names + default: ["adxl355"] + help: "List of IIO devices on board" + optional: False + netbox_field: devices.custom_fields.iio_device_names +downloader-config: + field_1: + name: http_server_ip + help: "IP address of build server with boot files" + optional: True + netbox_field: devices.custom_fields.http_server_ip + field_2: + name: reference_boot_folder + default: vc707_ad6676evb + help: "Folder name where reference boot files exist for specific board. \nThis is the same as the boot folder name of the AD-FMC-SDCARD." + optional: False + netbox_field: devices.custom_fields.reference_boot_folder + field_3: + name: platform + help: "Platform used of the no-os project" + optional: True + netbox_field: devices.custom_fields.platform +netbox-config: + field_1: + name: netbox_server + help: "IP address of the netbox server" + default: 192.168.10.1 + optional: True + netbox_field: devices.config_context.netbox_server + field_2: + name: netbox_server_port + default: 8000 + help: "Port used by the netbox service" + optional: True + netbox_field: devices.config_context.netbox_port + field_3: + name: netbox_base_url + default: netbox + help: "String used as netbox base url. i.e server:port\base_url" + optional: True + netbox_field: devices.config_context.netbox_base_url + field_4: + name: netbox_api_token + default: 0123456789abcdef0123456789abcdef01234567 + help: "Token for netbox rest api access" + optional: True + netbox_field: devices.config_context.netbox_api_token +jtag-config: + field_1: + name: vivado_version + default: 2021.1 + help: "Version of vivado to use" + optional: True + netbox_field: devices.config_context.vivado_version + field_2: + name: custom_vivado_path + default: None + help: "Custom path to vivado including version.\nEx: /opt/Xilinx/Vivado/2021.1\nOverrides vivado_version if set" + optional: True + netbox_field: devices.config_context.custom_vivado_path + field_3: + name: jtag_cable_id + default: 210299A567FE + help: "Substring of JTAG cable ID. Run 'jtag target' through xsdb to get it.\n Just really need code not full name." + optional: True + netbox_field: devices.console_ports.JTAG.label + field_4: + name: jtag_cpu_target_name + default: MicroBlaze*#0 + help: "Name use to identify jtag target\n. This will be used for filtering jtag target.\n Can use wildcards e.x *" + optional: True + netbox_field: devices.custom_fields.jtag_cpu_target_name +microblaze-config: + field_1: + name: fpga_bitstream + default: system_top.bit + help: "FPGA bitstream filename to program on KC705" + optional: False + field_2: + name: elf_image + default: simpleImage.strip + help: "Stripped image to load onto MicroBlaze" + optional: False + field_3: + name: xsdb_script + default: None + help: "Optional XSDB TCL script (if provided overrides manual sequence)" + optional: True + field_4: + name: cpu_target_pattern + default: MicroBlaze*#0 + help: "Target pattern for selecting MicroBlaze core in XSDB" + optional: True + field_5: + name: boot_mode + default: jtag + options: [jtag, flash] + help: "Boot/programming method" + optional: True + field_6: + name: auto_continue + default: True + options: ["True", "False"] + help: "Issue 'con' automatically after ELF download" + optional: True \ No newline at end of file diff --git a/nebula/tasks.py b/nebula/tasks.py index b233cd5a..f3c4b120 100644 --- a/nebula/tasks.py +++ b/nebula/tasks.py @@ -752,7 +752,7 @@ def gen_config_netbox( netbox_baseurl=None, jenkins_agent=None, board_name=None, - include_variants=True, + include_variants=False, include_children=True, devices_status="active", devices_role="fpga-dut", From d84f97ca525465be8cb955778eae4c380322dca6 Mon Sep 17 00:00:00 2001 From: Ace Alexander Ilog Date: Fri, 7 Nov 2025 13:23:54 +0800 Subject: [PATCH 2/4] microblaze bootfiles downloader update --- nebula/downloader.py | 43 +++++++++++++--- tests/nebula_config/microblaze.yaml | 79 +++++++++++++++++++++++++++++ tests/test_downloader.py | 38 ++++++++++---- 3 files changed, 145 insertions(+), 15 deletions(-) create mode 100644 tests/nebula_config/microblaze.yaml diff --git a/nebula/downloader.py b/nebula/downloader.py index 22a00db7..ef689a43 100644 --- a/nebula/downloader.py +++ b/nebula/downloader.py @@ -169,7 +169,21 @@ def gen_url(ip, branch, folder, filename, addl, url_template): release_folder = branch.upper() url = url_template.format(ip, release_folder, "", "") # folder = BUILD_DATE/PROJECT_FOLDER +<<<<<<< HEAD folder = get_newest_folder(listFD(url[:-1])) + "/" + str(folder) +======= + if branch == "main" and "boot_partition" in url_template: + + if "microblaze_images" in str (folder): + folder = get_newest_folder(listFD(url[:-1])) + "/" + str(folder) + print(f"debug: microblaze folder constructed: {folder}") + else: + folder = ( + get_newest_folder(listFD(url[:-1])) + "/boot_partition/" + str(folder) + ) + else: + folder = get_newest_folder(listFD(url[:-1])) + "/" + str(folder) +>>>>>>> 7b9597d (microblaze bootfiles downloader update) return url_template.format(ip, release_folder, folder, filename) @@ -642,9 +656,14 @@ def _get_files_linux( url_template = "https://{}/artifactory/sdg-generic-development/linux/releases/{}/{}/{}" if microblaze: - design_source_root = arch + if branch == "main": + url_template = ( + "https://{}/artifactory/sdg-generic-development/boot_partition/{}/{}/{}") + design_source_root = f"microblaze_images/{design_name}" + print(f"DEBUG: MicroBlaze design_source_root: {design_source_root}") + # get simpleImage log.info("Getting simpleimage") - simpleimage = "simpleImage." + design_name + ".strip" + simpleimage = "simpleImage.strip" self._get_file( simpleimage, source, @@ -653,6 +672,17 @@ def _get_files_linux( branch, url_template=url_template, ) + # get bitstream + log.info("Getting bitstream") + bitstream = "system_top.bit" + self._get_file( + bitstream, + source, + design_source_root, + source_root, + branch, + url_template=url_template, + ) else: # Get files from linux folder # Get kernel @@ -859,9 +889,10 @@ def _get_files( ) if microblaze: - self._get_files_hdl( - hdl_folder, source, source_root, branch, hdl_output=True - ) + hdl_branch = "master" if branch == "main" else branch + #self._get_files_hdl( + # hdl_folder, source, source_root, hdl_branch, hdl_output=True + #) self._get_files_linux( design_name, source, @@ -966,7 +997,7 @@ def download_boot_files( noos_project = self.no_os_project platform = self.platform - assert design_name in board_configs, "Invalid design name" + assert design_name in board_configs, f"Invalid design name {design_name}" if not firmware: matched = re.match("v[0-1].[0-9][0-9]", branch) diff --git a/tests/nebula_config/microblaze.yaml b/tests/nebula_config/microblaze.yaml new file mode 100644 index 00000000..9276b535 --- /dev/null +++ b/tests/nebula_config/microblaze.yaml @@ -0,0 +1,79 @@ +kcu105_adrv9371x: + board-config: + - board-name: kcu105_adrv9371x + - carrier: KCU105 + - daughter: ADRV9371 + - monitoring-interface: uart + - allow-jtag: True + downloader-config: + - reference_boot_folder: kcu105_adrv9371x + - platform: Xilinx + driver-config: + - iio_device_names: + - ad7291 + - ad9528-1 + - ad9371-phy + - axi-ad9371-rx-obs-hpc + - axi-ad9371-tx-hpc + - axi-ad9371-rx-hpc + jtag-config: + - jtag_cable_id: 210308AE6A92 + - jtag_cpu_target_name: MicroBlaze*#0 + microblaze-config: + - fpga_bitstream: system_top.bit + - elf_image: simpleImage.strip + netbox-config: + - netbox_server: primary.englab + - netbox_server_port: "8000" + - netbox_base_url: netbox + - netbox_api_token: 4d6a33918d555e6d1e5539b9e3329d3ccb1bc6a5 + network-config: + - dutip: 192.168.10.2 + pdu-config: + - pdu_type: cyberpower + - pduip: 192.168.10.25 + - outlet: "3" + - username: cyber + - password: cyber1 + uart-config: + - address: /dev/serial/by-path/pci-0000:00:14.0-usb-0:6.2:1.1-port0 + - baudrate: "115200" + - logfilename: kcu105_adrv9371x_iio.log +vc707_fmcomms2-3: + board-config: + - board-name: vc707_fmcomms2-3 + - carrier: VC707 + - daughter: FMCOMMS3 + - monitoring-interface: uart + - allow-jtag: True + downloader-config: + - reference_boot_folder: vc707_ad6676evb + - platform: Xilinx + driver-config: + - iio_device_names: + - ad9361-phy + - cf-ad9361-dds-core-lpc + - cf-ad9361-lpc + jtag-config: + - jtag_cable_id: 210203A25426A + - jtag_cpu_target_name: MicroBlaze*#0 + microblaze-config: + - fpga_bitstream: system_top.bit + - elf_image: simpleImage.strip + netbox-config: + - netbox_server: primary.englab + - netbox_server_port: "8000" + - netbox_base_url: netbox + - netbox_api_token: 4d6a33918d555e6d1e5539b9e3329d3ccb1bc6a5 + network-config: + - dutip: 192.168.10.2 + pdu-config: + - pdu_type: cyberpower + - pduip: 192.168.10.24 + - outlet: "6" + - username: cyber + - password: cyber + uart-config: + - address: /dev/serial/by-path/pci-0000:00:14.0-usb-0:6.1.1:1.0-port0 + - baudrate: "115200" + - logfilename: vc707_fmcomms2-3_iio.log diff --git a/tests/test_downloader.py b/tests/test_downloader.py index 2c45a4d8..3fcae032 100644 --- a/tests/test_downloader.py +++ b/tests/test_downloader.py @@ -119,19 +119,39 @@ def test_noos_downloader(test_downloader, board_name, branch, filetype): assert os.path.isfile("outs/hashes.txt") -@pytest.mark.skip(reason="Not built") -@pytest.mark.parametrize("board_name", ["kc705_fmcomms4"]) -@pytest.mark.parametrize("branch", ["release", "main"]) +#@pytest.mark.skip(reason="Not built") #remove for testing +@pytest.mark.parametrize("board_name", ["kcu105_adrv9371x"]) +@pytest.mark.parametrize("branch", ["release","main"]) @pytest.mark.parametrize("filetype", ["microblaze"]) def test_microblaze_downloader(test_downloader, board_name, branch, filetype): - test_downloader(board_name, branch, filetype) - try: - assert os.path.isfile("outs/system_top.hdf") - except Exception: - assert os.path.isfile("outs/system_top.xsa") - assert os.path.isfile("outs/simpleImage.kc705_fmcomms4.strip") + import sys + import nebula + print(f"DEBUG: Python executable: {sys.executable}") + print(f"DEBUG: Nebula location: {nebula.__file__}") + # Remove the test_downloader call and use microblaze.yaml directly + microblaze_yaml = os.path.join(os.path.dirname(__file__), "nebula_config", "microblaze.yaml") + + if os.path.isdir("outs"): + shutil.rmtree("outs") + + d = downloader(yamlfilename=microblaze_yaml, board_name=board_name) + d.download_boot_files( + board_name, + source="artifactory", + source_root="artifactory.analog.com", + branch=branch, + microblaze=True, + ) + + #assert os.path.isfile("outs/system_top.xsa") # HDL file + assert os.path.isfile("outs/system_top.bit") # Bitstream + assert os.path.isfile("outs/simpleImage.strip") # MicroBlaze kernel assert os.path.isfile("outs/properties.yaml") assert os.path.isfile("outs/hashes.txt") + + # Cleanup + if os.path.isdir("outs"): + shutil.rmtree("outs") @pytest.mark.parametrize("board_name", ["eval-adxrs290-pmdz"]) From 1f59edd1e6ab6597df77d36e7fd8ce7f9c449bfe Mon Sep 17 00:00:00 2001 From: Ace Alexander Ilog Date: Tue, 11 Nov 2025 09:44:26 +0800 Subject: [PATCH 3/4] moved the microblaze dlbootfiles to _get_files_boot_partition --- nebula/downloader.py | 226 +++++++++++++++++++++++++------------------ 1 file changed, 130 insertions(+), 96 deletions(-) diff --git a/nebula/downloader.py b/nebula/downloader.py index ef689a43..d959be85 100644 --- a/nebula/downloader.py +++ b/nebula/downloader.py @@ -497,6 +497,8 @@ def _get_files_boot_partition( kernel, kernel_root, dt, + design_name=None, + microblaze=False, url_template=None, ): if source == "artifactory": @@ -507,52 +509,81 @@ def _get_files_boot_partition( else: url_template = "https://{}/artifactory/sdg-generic-development/boot_partition/{}/{}/{}" - log.info("Getting standard boot files") - # Get kernel - log.info("Getting " + kernel) - self._get_file( - kernel, source, kernel_root, source_root, branch, url_template=url_template - ) + if microblaze: + design_source_root = f"microblaze_images/{design_name}" + print(f"DEBUG: MicroBlaze design_source_root: {design_source_root}") - if boot_subfolder is not None: - design_source_root = os.path.join(reference_boot_folder, boot_subfolder) - else: - design_source_root = reference_boot_folder - # Get BOOT.BIN - log.info("Getting BOOT.BIN") - self._get_file( - "BOOT.BIN", - source, - design_source_root, - source_root, - branch, - url_template=url_template, - ) - # Get support files (bootgen_sysfiles.tgz) - log.info("Getting support files") - self._get_file( - "bootgen_sysfiles.tgz", - source, - design_source_root, - source_root, - branch, - url_template=url_template, - ) + # get simpleImage + log.info("Getting simpleimage") + simpleimage = "simpleImage.strip" + self._get_file( + simpleimage, + source, + design_source_root, + source_root, + branch, + url_template=url_template, + ) + # get bitstream + log.info("Getting bitstream") + bitstream = "system_top.bit" + self._get_file( + bitstream, + source, + design_source_root, + source_root, + branch, + url_template=url_template, + ) + else: - # Get device tree - log.info("Getting " + dt) - if devicetree_subfolder is not None: - design_source_root = reference_boot_folder + "/" + devicetree_subfolder - else: - design_source_root = reference_boot_folder - self._get_file( - dt, - source, - design_source_root, - source_root, - branch, - url_template=url_template, - ) + log.info("Getting standard boot files") + # Get kernel + log.info("Getting " + kernel) + self._get_file( + kernel, source, kernel_root, source_root, branch, url_template=url_template + ) + + + if boot_subfolder is not None: + design_source_root = os.path.join(reference_boot_folder, boot_subfolder) + else: + design_source_root = reference_boot_folder + # Get BOOT.BIN + log.info("Getting BOOT.BIN") + self._get_file( + "BOOT.BIN", + source, + design_source_root, + source_root, + branch, + url_template=url_template, + ) + # Get support files (bootgen_sysfiles.tgz) + log.info("Getting support files") + self._get_file( + "bootgen_sysfiles.tgz", + source, + design_source_root, + source_root, + branch, + url_template=url_template, + ) + + # Get device tree + log.info("Getting " + dt) + if devicetree_subfolder is not None: + design_source_root = reference_boot_folder + "/" + devicetree_subfolder + else: + design_source_root = reference_boot_folder + self._get_file( + dt, + source, + design_source_root, + source_root, + branch, + url_template=url_template, + ) if source == "artifactory": # check if info_txt is present @@ -655,58 +686,59 @@ def _get_files_linux( else: url_template = "https://{}/artifactory/sdg-generic-development/linux/releases/{}/{}/{}" - if microblaze: - if branch == "main": - url_template = ( - "https://{}/artifactory/sdg-generic-development/boot_partition/{}/{}/{}") - design_source_root = f"microblaze_images/{design_name}" - print(f"DEBUG: MicroBlaze design_source_root: {design_source_root}") - # get simpleImage - log.info("Getting simpleimage") - simpleimage = "simpleImage.strip" - self._get_file( - simpleimage, - source, - design_source_root, - source_root, - branch, - url_template=url_template, - ) - # get bitstream - log.info("Getting bitstream") - bitstream = "system_top.bit" - self._get_file( - bitstream, - source, - design_source_root, - source_root, - branch, - url_template=url_template, - ) - else: - # Get files from linux folder - # Get kernel - log.info("Getting " + kernel) - self._get_file( - kernel, - source, - design_source_root, - source_root, - branch, - url_template=url_template, - ) - # Get device tree - dt_dl = design_name + ".dtb" - log.info("Getting " + dt_dl) - design_source_root = arch - self._get_file( - dt_dl, - source, - design_source_root, - source_root, - branch, - url_template=url_template, - ) + #if microblaze: + # if branch == "main": + # url_template = ( + # "https://{}/artifactory/sdg-generic-development/boot_partition/{}/{}/{}") + # design_source_root = f"microblaze_images/{design_name}" + # print(f"DEBUG: MicroBlaze design_source_root: {design_source_root}") + # # get simpleImage + # log.info("Getting simpleimage") + # simpleimage = "simpleImage.strip" + # self._get_file( + # simpleimage, + # source, + # design_source_root, + # source_root, + # branch, + # url_template=url_template, + # ) + # # get bitstream + # log.info("Getting bitstream") + # bitstream = "system_top.bit" + # self._get_file( + # bitstream, + # source, + # design_source_root, + # source_root, + # branch, + # url_template=url_template, + # ) + #else: + + # Get files from linux folder + # Get kernel + log.info("Getting " + kernel) + self._get_file( + kernel, + source, + design_source_root, + source_root, + branch, + url_template=url_template, + ) + # Get device tree + dt_dl = design_name + ".dtb" + log.info("Getting " + dt_dl) + design_source_root = arch + self._get_file( + dt_dl, + source, + design_source_root, + source_root, + branch, + url_template=url_template, + ) if source == "artifactory": get_gitsha(self.url, daily=True, linux=True) @@ -928,6 +960,8 @@ def _get_files( kernel, kernel_root, dt, + design_name, + microblaze, url_template, ) elif folder == "hdl_linux": From 1af07ddaf791117e1d9c2e628b24ce9a88d6bf70 Mon Sep 17 00:00:00 2001 From: Ace Alexander Ilog Date: Tue, 11 Nov 2025 11:25:24 +0800 Subject: [PATCH 4/4] cleared commit divergence from the original repository --- nebula/downloader.py | 19 ++++++++----------- tests/test_downloader.py | 2 +- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/nebula/downloader.py b/nebula/downloader.py index d959be85..9df6ded6 100644 --- a/nebula/downloader.py +++ b/nebula/downloader.py @@ -169,9 +169,6 @@ def gen_url(ip, branch, folder, filename, addl, url_template): release_folder = branch.upper() url = url_template.format(ip, release_folder, "", "") # folder = BUILD_DATE/PROJECT_FOLDER -<<<<<<< HEAD - folder = get_newest_folder(listFD(url[:-1])) + "/" + str(folder) -======= if branch == "main" and "boot_partition" in url_template: if "microblaze_images" in str (folder): @@ -183,7 +180,6 @@ def gen_url(ip, branch, folder, filename, addl, url_template): ) else: folder = get_newest_folder(listFD(url[:-1])) + "/" + str(folder) ->>>>>>> 7b9597d (microblaze bootfiles downloader update) return url_template.format(ip, release_folder, folder, filename) @@ -508,7 +504,7 @@ def _get_files_boot_partition( ) else: url_template = "https://{}/artifactory/sdg-generic-development/boot_partition/{}/{}/{}" - + if microblaze: design_source_root = f"microblaze_images/{design_name}" print(f"DEBUG: MicroBlaze design_source_root: {design_source_root}") @@ -543,8 +539,6 @@ def _get_files_boot_partition( self._get_file( kernel, source, kernel_root, source_root, branch, url_template=url_template ) - - if boot_subfolder is not None: design_source_root = os.path.join(reference_boot_folder, boot_subfolder) else: @@ -921,20 +915,23 @@ def _get_files( ) if microblaze: - hdl_branch = "master" if branch == "main" else branch + #hdl_branch = "master" if branch == "main" else branch #self._get_files_hdl( # hdl_folder, source, source_root, hdl_branch, hdl_output=True #) - self._get_files_linux( - design_name, + self._get_files_boot_partition( + reference_boot_folder, + devicetree_subfolder, + boot_subfolder, source, source_root, branch, kernel, kernel_root, dt, - arch, + design_name, microblaze, + url_template, ) if rpi: diff --git a/tests/test_downloader.py b/tests/test_downloader.py index 3fcae032..bf5d8613 100644 --- a/tests/test_downloader.py +++ b/tests/test_downloader.py @@ -121,7 +121,7 @@ def test_noos_downloader(test_downloader, board_name, branch, filetype): #@pytest.mark.skip(reason="Not built") #remove for testing @pytest.mark.parametrize("board_name", ["kcu105_adrv9371x"]) -@pytest.mark.parametrize("branch", ["release","main"]) +@pytest.mark.parametrize("branch", ["main"]) @pytest.mark.parametrize("filetype", ["microblaze"]) def test_microblaze_downloader(test_downloader, board_name, branch, filetype): import sys