- Aug 28, 2023
-
-
Tim Jaacks authored
This suggestion aims to reduce code size, but IMO for the expense of readability for non-python-experts, so we disable it. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/use-named-expression/
-
Tim Jaacks authored
I don't see any benefit in accepting the refactoring suggestions based on this rule. IMO it makes the code harder to read, especially for non- experienced Python developers. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/use-next/
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/raise-specific-error/
-
Tim Jaacks authored
The old printf-style string formatting syntax using '%' is not recommended anymore. See for reference: https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting https://docs.sourcery.ai/Reference/Python/Default-Rules/replace-interpolation-with-fstring/ Python 3.6 introduced f-strings as a better alternative: https://docs.python.org/3/reference/lexical_analysis.html#f-strings Consequently switch to this new syntax for all strings.
-
- Aug 25, 2023
-
-
Tim Jaacks authored
-
- Aug 24, 2023
-
-
Tim Jaacks authored
This stage contains jobs to deploy packaged artifacts to our Azure blob storage. The required variables `AZURE_STORAGE_ACCOUNT` and `AZURE_STORAGE_SAS_TOKEN` are stored in the GitLab CI/CD variables. The storage container `AZURE_CONTAINER_NAME` and artifact path `AZURE_TARGET_FOLDER` are passed from the parent pipeline.
-
- Aug 22, 2023
-
-
Tim Jaacks authored
This adds two jobs to the Yocto pipeline: - generate-confluence-page - publish-confluence-page The first one generates a confluence page from a template (`confluence-page.xml.jinja2`) using information downloaded from all successful "Deploy FTP" jobs of the same pipeline. The second one publishes this page in Confluence and displays a link to the new page. If the page already exists it is overwritten. The place in Confluence where the new page is published is configurable via the `CONFLUENCE_SPACE` and `CONFLUENCE_PARENT_ID` variables.
-
- Aug 21, 2023
-
-
Tim Jaacks authored
This was accidentally forgotten in the previous commit.
-
Tim Jaacks authored
This makes the script more general and open for other future purposes. The parsing of the YAML content is conditional now, depending on the new "format" argument.
-
- Aug 11, 2023
-
-
Tim Jaacks authored
Instead of mixing dedicated CI test jobs and Yocto build simulation jobs within one pipeline, use the new multi-build-pipelines architecture to split them up into separate child pipelines. This also makes most of the Yocto pipeline code reusable, so that we don't have to declare all the jobs again in ci-test.
-
Tim Jaacks authored
-
- Aug 10, 2023
-
-
Tim Jaacks authored
-
Tim Jaacks authored
-
Tim Jaacks authored
In 438f1e2a we accidentally disabled caching for the build simulation by moving the cache definition to a job class. The order of inheritance led to the cache configuration being overwritten by the one of the "buildbase" class. Change inheritance order to fix this.
-
Tim Jaacks authored
When there are multiple open merge requests for a commit, we currently take the newest one to determine the integration branch name. This is not necessarily the correct one, we can have an open merge request with the commit being part of the commit history while the top commit is a different one. Add a check if the commit is the top commit of the merge request in order to get the correct integration branch name in these cases.
-
- Aug 07, 2023
-
-
Tim Jaacks authored
-
- Aug 04, 2023
-
-
Jonas Höppner authored
-
Tim Jaacks authored
mkstemp() returns a tuple containing an OS-level handle to an open file (as would be returned by os.open()) and the absolute pathname of that file, in that order. Use higher-level function NamedTemporaryFile() instead.
-
- Aug 03, 2023
-
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/remove-redundant-if/
-
Tim Jaacks authored
Move the main part of the action to the if branch. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/swap-if-else-branches/
-
Tim Jaacks authored
-
- Aug 01, 2023
-
-
Tim Jaacks authored
-
Tim Jaacks authored
-
- Jul 31, 2023
-
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/merge-dict-assign/
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/assign-if-exp/
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/inline-immediately-returned-variable/
-
Tim Jaacks authored
This is the most concise and Pythonic way to create a dictionary. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/dict-literal/
-
Tim Jaacks authored
A list comprehension can create the list on one line, cutting out the clutter of declaring an empty list and then appending values. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/list-comprehension/
-
Tim Jaacks authored
A dictionary comprehension can create the dictionary on one line, cutting out the clutter of declaring an empty dict and then adding items. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/dict-comprehension/
-
Tim Jaacks authored
Something we often do is check whether a list or sequence has elements before we try and do something with it. A Pythonic way of doing this is just to use the fact that Python lists and sequences evaluate to True if they have elements, and False otherwise. Doing it this way is a convention, set out in Python's PEP8 style guide. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/simplify-len-comparison/
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/de-morgan/
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/merge-nested-ifs/
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/remove-dict-keys/
-
Tim Jaacks authored
IMO explicit declaration of lower and upper limits makes code easier to read than using an implicit default value. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/remove-zero-from-range/
-
- Jul 28, 2023
-
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/sum-comprehension/
-
Tim Jaacks authored
See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/use-join/
-
Tim Jaacks authored
-
Tim Jaacks authored
-
- Jul 27, 2023
-
-
Tim Jaacks authored
Instead of building the Yocto image, the Yocto SDK and the FNGSystem image in one single pipeline, separate them into three independent pipelines that are triggered in parallel. This makes the concept more modular: we have a single general pipeline now which is configurable from outside via variables. Hence we can have a custom number of pipelines along with custom build targets in each project without having to make code changes in the gitlab-ci project. The default Yocto manifest pipeline configures three build pipelines: - yocto-build-jobs - sdk-build-jobs - fngsystem-build-jobs In a project including the Yocto manifest pipeline, we can disable certain build pipelines using job rules, e.g. disabling the SDK build: sdk-build-jobs: rules: - when: never Furthermore we can add more pipelines by simply adding jobs extending the '.build-jobs' class in the project's .gitlab-ci.yml: yocto-custom-build-jobs: extends: - .build-jobs variables: BITBAKE_TASK: build CI_PARAM_IMAGE: custom-image CI_PARAM_DISTRO: custom-distro PACKAGE_TYPE: image
-
Tim Jaacks authored
-