Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion config/runtime/tests/kselftest-platform-parameters.jinja2
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
path: automated/linux/kselftest/kselftest.yaml
name: '{{ node.name }}'
parameters:
TESTPROG_URL: '{{ node.artifacts.kselftest_tar_gz }}'
TESTPROG_URL: '{{ node.artifacts.kselftest_tar_xz | default(node.artifacts.kselftest_tar_gz, true) }}'
SKIPFILE: /dev/null
TST_CMDFILES: '{{ collections }}'
TST_CASENAME: '{{ tests }}'
Expand Down
2 changes: 1 addition & 1 deletion config/runtime/tests/kselftest.jinja2
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
path: automated/linux/kselftest/kselftest.yaml
name: '{{ node.name }}'
parameters:
TESTPROG_URL: '{{ node.artifacts.kselftest_tar_gz }}'
TESTPROG_URL: '{{ node.artifacts.kselftest_tar_xz | default(node.artifacts.kselftest_tar_gz, true) }}'
SKIPFILE: {{ skipfile if skipfile else '/dev/null' }}
TST_CMDFILES: '{{ collections }}'
TST_CASENAME: '{{ tests }}'
Expand Down
4 changes: 2 additions & 2 deletions kernelci/kbuild.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: LGPL-2.1-or-later

Check warning on line 1 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Too many lines in module (1386/1000)
#
# Copyright (C) 2023 Collabora Limited
# Author: Denys Fedoryshchenko <denys.f@collabora.com>
Expand Down Expand Up @@ -44,12 +44,12 @@
from typing import Dict, Tuple, List

CIP_CONFIG_URL = \
"https://gitlab.com/cip-project/cip-kernel/cip-kernel-config/-/raw/master/{branch}/{config}" # noqa

Check warning on line 47 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Line too long (104/100)
CROS_CONFIG_URL = \
"https://chromium.googlesource.com/chromiumos/third_party/kernel/+archive/refs/heads/{branch}/chromeos/config.tar.gz" # noqa

Check warning on line 49 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Line too long (129/100)
FW_GIT = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" # noqa

# TODO: find a way to automatically fetch this information

Check warning on line 52 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

TODO: find a way to automatically fetch this information
LATEST_LTS_MAJOR = 6
LATEST_LTS_MINOR = 12

Expand Down Expand Up @@ -106,19 +106,19 @@
REDIR = ' > >(tee {}) 2> >(tee {} >&1)'


def _download_file_inner(url, file_path):

Check warning on line 109 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Either all return statements in a function should return an expression, or none of them should.
try:
r = requests.get(url, stream=True, timeout=60)
except requests.exceptions.RequestException as e:
print(f"[_download_file_inner] Error: {e}")
return False
except requests.exceptions.Timeout as e:

Check failure on line 115 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Bad except clauses order (RequestException is an ancestor class of Timeout)
print(f"[_download_file_inner] Timeout: {e}")
return False
except requests.exceptions.ConnectionError as e:

Check failure on line 118 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Bad except clauses order (RequestException is an ancestor class of ConnectionError)
print(f"[_download_file_inner] Connection error: {e}")
return False
except Exception as e:

Check warning on line 121 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Catching too general exception Exception
print(f"[_download_file_inner] Exception: {e}")
return False
if r.status_code == 200:
Expand All @@ -143,13 +143,13 @@
return False


class KBuild():

Check warning on line 146 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Too many instance attributes (29/7)
'''
Build class that represents kernel build
if node, jobname and params are provided, create new build object
if jsonobj is provided, load class from serialized json
'''
def __init__(self, node=None, jobname=None, params=None, jsonobj=None, apiconfig=None,

Check warning on line 152 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Too many arguments (7/5)
fragment_configs=None):
# Retrieve and store API token for future use
self._api_token = os.environ.get('KCI_API_TOKEN')
Expand Down Expand Up @@ -657,8 +657,8 @@
self.startjob("config_fragments")
for fragfile in fragment_files:
self.addcmd(f"./scripts/kconfig/merge_config.sh -m .config {fragfile}")
# TODO: olddefconfig should be optional/configurable

Check warning on line 660 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

TODO: olddefconfig should be optional/configurable
# TODO: log all warnings/errors of olddefconfig to separate file

Check warning on line 661 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

TODO: log all warnings/errors of olddefconfig to separate file
self.addcmd("make olddefconfig")
self.addcmd(f"cp .config {self._af_dir}/")
self.addcmd("cd ..")
Expand Down Expand Up @@ -1130,12 +1130,12 @@
os.unlink(upload_path)

print(f"[_upload_artifacts] Uploaded {artifact} to {stored_url}")
return artifact, stored_url, None

Check failure on line 1133 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Incompatible return value type (got "tuple[str, Any, None]", expected "tuple[str, str, str]") [return-value]
except Exception as e:
print(f"[_upload_artifacts] Error uploading {artifact}: {e}")
if compressed_file and os.path.exists(upload_path):
os.unlink(upload_path)
return artifact, None, str(e)

Check failure on line 1138 in kernelci/kbuild.py

View workflow job for this annotation

GitHub Actions / Lint

Incompatible return value type (got "tuple[str, None, str]", expected "tuple[str, str, str]") [return-value]

# Process uploads in parallel
max_workers = min(10, len(upload_tasks)) # Limit concurrent uploads
Expand Down Expand Up @@ -1306,11 +1306,11 @@
# TODO(nuclearcat):
# Add child_nodes for each sub-step

# do we have kselftest_tar_gz in artifact keys? then node is ok
# do we have kselftest archive in artifact keys? then node is ok
if self._kfselftest:
kselftest_result = 'fail'
for artifact in af_uri:
if artifact == 'kselftest_tar_gz':
if artifact in ('kselftest_tar_xz', 'kselftest_tar_gz'):
kselftest_result = 'pass'
break

Expand Down