- Aug 24, 2023
-
-
GitBot authored
-- Commit: seco-ne/yocto/infrastructure/gitlab-ci@e6808701 Add "Deploy Azure" stage 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
-
-
GitBot authored
-- Commit: seco-ne/yocto/infrastructure/gitlab-ci@f8c1d732 Add confluence stage 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. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@fee9493b generate-build-pipeline: re-add YAML format parsing This was accidentally forgotten in the previous commit. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@9b777f29 Rename "generate_job_from_template" script to "render_jinja2_template" 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
-
-
GitBot authored
-- Commit: seco-ne/yocto/infrastructure/gitlab-ci@b20f6b95 Use multiple CI test pipelines 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.
-
GitBot authored
-- Commit: seco-ne/yocto/infrastructure/gitlab-ci@f9dc2517 Rename "build jobs" to "build pipeline" -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@633c9fb4 get_pipeline_jobs: remove redundant job ID output -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@347745c5 download_job_artifacts: add error message if artifact not found -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@50f7396d ci-test: re-enable build simulation caching In 438f1e2aae23472d692ce6314e8c683f950657d2 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. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@30f7d966 update_submodule: fix integration branch name in case of multiple MRs 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. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@438f1e2a ci-test: use more recent release for build simulation -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@1c900bf9 Update docs/add-new-project-to-pipeline.md -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@8854fd8f download_job_artifacts: fix temp file creation 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. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@151f1cd6 Refactoring: remove redundant if See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/remove-redundant-if/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@872ec6d9 Refactoring: swap if and else branches 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/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@c058236c Sourcery: skip a certain suggestion for better readability -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@b9196ae5 Fix typo in comment -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@eba0649d gitignore: add .vscode and convert line-endings to LF -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@876da56d Refactoring: merge dictionary assignments See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/merge-dict-assign/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@e8e3ff37 Refactoring: use single assignment for "if, else" See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/assign-if-exp/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@14eaf45a Refactoring: inline immediately returned variables See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/inline-immediately-returned-variable/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@f9096a52 Refactoring: use "{}" for creating an empty dictionary 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/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@a3baa39e Refactoring: use list comprehensions 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/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@52de8d7c Refactoring: use dictionary comprehensions 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/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@5d09b9de Refactoring: simplify length comparisons 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/
-
- Jul 27, 2023
-
-
GitBot authored
-- Commit: seco-ne/yocto/infrastructure/gitlab-ci@9406ad75 Yocto build: separate images in multiple pipelines 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 -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@447804d2 .gitlab-ci: increase analyze timeout
-
- Jul 25, 2023
-
-
GitBot authored
-- Commit: seco-ne/yocto/infrastructure/gitlab-ci@5762a54c Yocto build: unify image and SDK package jobs Image and SDK package jobs call the same package script just with different arguments. Instead of having two job classes `package_release` and `package_sdk` for these two tasks, merge them into the base class `package` and make the differences configurable via a variable `PACKAGE_TYPE`. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@8e72eac2 Yocto build: add variable for manual builds Instead of hard-coding the rules for manual builds in each actual job, conditionally add this to the `buildbase` class and add a variable `MANUAL_BUILD` to the according jobs. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@e6d71996 Yocto build: unify image and SDK build jobs Image and SDK builds share a lot of similar code. Instead of having two job classes `build_yocto_image` and `build_yocto_sdk` for these two tasks, merge them into the base class `build_yocto` and make the differences configurable via a variable. The `dump_install_command` part of the script, which was not executed for SDK builds, is always present now, but it's only executed if the `INSTALLSCRIPT` variable is set, which is not the case for SDK builds. The `collect_srcrevs` part of the script is executed in all cases. It was not part of the SDK build before, but it's not less relevant there. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@f892500f Yocto build: make main artifacts path configurable Instead of specifying all possible artifacts paths and abusing the fact that GitLab ignores non-existing paths during artifact upload, implement a cleaner solution with a configurable path.
-
- Jul 24, 2023
-
-
GitBot authored
-- Commit: seco-ne/yocto/infrastructure/gitlab-ci@c227e053 Yocto build: use common artifact pathspec for image and SDK builds This is the first step on the way to a common pipeline for all build configurations. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@fa2766e6 README: review documentation for adding new project -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@c027f42b README: use consistent heading style -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@f8bf107b Sourcery: keep min-max-identity check disabled IMO code is easier to read without the proposed change: https://docs.sourcery.ai/Reference/Python/Default-Rules/min-max-identity/ Move the disabled check to the top of the list and add a comment that all the checks below need to be verified. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@01484573 Refactoring: replace if-expression with or See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/or-if-exp-identity/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@ccdac3d5 Sourcery: enable more passing checks -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@d5908ee5 Refactoring: remove needless str() from print() See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/remove-str-from-print/ -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@479861fb Sourcery: enable passing checks -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@7c87d4d1 Sourcery: skip use-assigned-variable -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@26591c0b Refactoring: use datetime.now() instead of datetime.today() now() is officially preferred over today() according to the docs. See for reference: https://docs.sourcery.ai/Reference/Python/Default-Rules/use-datetime-now-not-today/ https://docs.python.org/3/library/datetime.html#datetime.datetime.now -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@414ebe6d Add python code analysis via sourcery Disable all checks which do not pass currently. These should be enabled in the future along with a code refactoring to make them pass. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@df817ecf README: Add howto to create a new project.
-
- Jul 13, 2023
-
-
Jonas Höppner authored
-
Jonas Höppner authored
CI: Add CI scripts See merge request !2
-
Jonas Höppner authored
-
- Jul 12, 2023
-
-
Jonas Höppner authored
Add initial video and qmlbench test scripts See merge request !1
-
Jonas Höppner authored
Provided by RT Soft
-
Jonas Höppner authored
-