Integrate gitlab-ci/remove-dual-espresso-image-build and 30+ more
-- Commit: seco-ne/yocto/infrastructure/gitlab-ci@f2b7ec90 CI: Remove build for dual espresso again The pipeline is not setup to build from different manifest and so on, and the dual_espresso manifest will probably go to a seperate repo to keep it private. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@b81d573a CI: Remove '--verbose' from deploy step -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@c1ebf70c manifest: Added manifest file selection to ci-test -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@1285aad7 manifest: Added manifest file name to integration script BCS 746-000518 -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@dc6d7858 build: Added DualEspresso -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@0941262a layers: Added nogplv3 and dual-espresso layer to CI/CD -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@3b5e9be0 CI: Pull new changelog_generator image, add token to the call. BCS 746-000785 -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@968886c0 Update README.md: Add description on the gitlab-ci CI and how to deploy -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@bcb6076b CI: Add check if integration branch is on top of target branch before reusing it The integration branch was reused even if there where new commits on the target branch, which could lead into reverting some changes. This adds a check, if the existing integration branch is directly based on the target branch and deletes it if not. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@6f09c66c CI: deploy-gitlab-ci: Don't stop integration when one project is already updated Prior to this change the integration stop when one of the projects had already the latest ref of gitlab-ci in to submodule. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@6c39166f CI: deploy-gitlab-ci: Don't stop integration when one project is already updated Prior to this change the integration stop when one of the projects had already the latest ref of gitlab-ci in to submodule. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@aaac8d1c changelog_generator: Use logging instead of print, fix black -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@79afb233 CI: Move changelog_generator to gitlab-ci project The script can also be run in the normal python container, so this slightly reduces the complexity. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@383a5aca Added qt-multi-screen-compositor to project list -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@3e88ad8e buildfng: Moved the image and distro variables to global The image and distro for the buildfng job can now be set via global/external variables. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@751fc360 Improve CI documentation BCS 746-000636 -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@2d2210b6 CI: deploy-gitlab-ci: Don't stop integration when one project is already updated Prior to this change the integration stop when one of the projects had already the latest ref of gitlab-ci in to submodule. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@67b0195a CI: Increase infrastructure timeout to 10min -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@a06956de Rename layers to seconorth -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@6fbbf338 CI: Add fake lava test to ci-test, reduce fetch depth in update submodule -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@d820110c CI: Add variable containing the port for ssh access of the gitlab instance Our server installation uses port 4444 for ssh access. The lava tests didn't took this into account. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@ad9d367e Allow check job to fail This makes merging a project MR possible even if the manifest has received new commits since the MR pipeline build has run. The developer is responsible for deciding whether it is safe to merge it without having a build based on the latest manifest. BCS 746-000794 -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@81c2ad85 merge_into_manifest: fix error message if MR already exists -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@5e514076 Add possibility to skip MR pipeline check via label -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@ee151673 Add possibility to skip MR pipeline build via label -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@0885629d Document "skip build" label -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@e6980d48 Update meta-seconorth-dual-espresso path -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@83002e07 accept_merge_request: explicitly check if MR has merge conflicts According to the documentation [1] we should get a 406 error from the API if we try to merge a merge request which has a merge conflict. We are experiencing a different behaviour, though, where we are getting a 405 error in this case. There is an open GitLab issue on this topic [2]. In our error handling we assumed that the reason for a 405 error is most likely a required pipeline which is still running. This assumtion, however, leads to wrong behaviour in cases where no pipeline is started at all. Fixing this now by explicitly checking for merge conflicts at the very beginning of the error handling sequence. [1]: https://docs.gitlab.com/ee/api/merge_requests.html#merge-a-merge-request [2]: https://gitlab.com/gitlab-org/gitlab/-/issues/364102 -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@1bc683d5 Move python scripts to subfolder BCS 746-000808 -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@2e6c1b4f Build jobs: Use parent-child jobs to generate needed build jobs * Move all build, deploy and test stubs to the manifest-build.yml * Create a new job to generate and trigger the build jobs dynamically * Add the base jinja2 file for the build jobs. * Add initial docs for the manifest pipeline * Remove unused files -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@d9660a80 build-jobs.jinja2: Specify master branch variable again If the MASTER_BRANCH_MANIFEST variable is set in the manifest's .gitlab-ci.yml file, it may not find its way to the generated job, if it is not explicitly set during generation. That is done with this patch. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@686323c6 Remove yaml redundancies in manifest-integration Leave all common yaml parts in manifest-integration.yml and add manifest-integration-yocto.yml and manifest-integration-ci-test.yml containing the different variable assignments for each environment. The repos including these files have to be updated with the new names. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@4c751096 Harmonize manifest-integration yaml files for yocto and ci-test This is the first step for reducing code duplicates. BCS 746-000807 -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@c877f9c9 retrigger: Allow to specify the manifest's remote identifier in a variable Costum manifest may override this variable -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@2b2bc220 Define yamllint job explicitly in each pipeline The yamllint job was included in the pipeline implicitly via the inclusion of common.yml. This is not very transparent. Make the common definition a base job and extend it explicitly in each pipeline now. Add infrastructure stage comment header into both yaml files. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@7f68f307 Yocto manifest build: re-enable build:merge_request job This job was accidentally disabled in 2e6c1b4, because it was included in the generated child pipeline. This pipeline is not created on the master, though, so the condition for the job was never met. Move the job to the parent pipeline again, so that it gets executed on the master like before. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@970c7fd7 Re-add yamllint stage to ci test manifest pipeline Was accidentally removed in previous commit. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@9b8cf51c Share manifest pipeline for ci-test and yocto Combine all common yaml parts in manifest-pipeline.yml and add manifest-pipeline-yocto.yml and manifest-pipeline-ci-test.yml containing the different variable assignments for each environment. This change implicitly introduces parent-child build job generation in the ci-test pipeline, like it is done in the yocto pipeline already. The ci-test build jobs have been moved to build-jobs-ci-test.jinja2 accordingly. Furthermore rename GITLAB_CI_CURRENT_REV to GITLAB_CI_REVISION and remove the run conditions from all generated build jobs, since these are already present in the upstream trigger job. The repos including these files have to be updated with the new file and variable names. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@c1b939fe Use CI variables in build template directly The job generation script implicitly passes the OS environment to the template, so that the template has access to all GitLab CI variables. Hence there is no need to explicitly pass any of them as command line arguments. This change makes the "generate-build-jobs" job more generic, so that it can be shared with the ci-test pipeline in the future. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@775c09c1 Add gitlab_backup script to download all project exports of a gitlab group -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@0dd147c8 SDK: Remove package step from build sdk, add sdk to artifacts, create deploy_sdk -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@ecab2962 Manifest: include yamllint in full pipeline -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@a4071423 Manifest pipeline: run full build pipeline when triggered via web UI -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@8862b213 Manifest refactoring: move job rules into classes This way they can be reused instead of redefining them in each job. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@d604b330 Fix wrong remote name in ci-test pipeline -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@e810c2ac Fix wrong manifest project ID for ci-test pipeline -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@f39e65ab Manifest: really include yamllint in the full pipeline Previous commit did not have the effect due to wrong extend order. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@dc0503b6 CI: Hardcode the artifacts path in the generated job description Some gitlab update(?) seem to have changed the behaviour in variable passing. In the scripts the variables are available but in the artifacts path does not resolve them any more. May be it has something to do with the introduction of the trigger:forward keyword. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@ea3aa816 CI: Readd allow_failure:true to fix not finished pipelines According to the docs a manual job always has allow_failure set to true, but we see a lot of jobs staying in an unfinished state since the removal of the allow_failure: true keyword for the sdk and test jobs. This should fix the broken behaviour. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@c503a6d4 CI: pipeline yocto: Change scope of CI_PARAM_IMAGE, ... to fix fngsystem build The variables CI_PARAM_IMAGE, CI_PARAM_DISTRO, CI_MACHINE have been defined outside the job in the '.gitlab-ci.yml' file. This has a lower precedence then variables defined inside the job, but it seems that these variables are used in the scope of 'Trigger variables' when available in the trigger job. These override the value set in the template. As main results this made FNGSystem jobs build the normal yocto. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@6508e800 CI: Add hardcoded artifact's path generation also for fng system -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@075aeccb Refactoring: share build and test job basics for ci-test and Yocto This shares YAML code for the following procedures: - Build environment - Source code checkout via repo - SSH key and known hosts setup - LAVA test submission - Docker check if build folder is empty -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@ab09db0b CI: Lava Test: Allow to install test image directly from gitlab The images from the build job can be directly installed from gitlab. To achive this some changes in the complete pipeline have been needed. 1. The variables used in the build job, like CI_PARAM_IMAGE, ... and related variables like BUILDPATH are only valid in the build job now. 2. The build job writes every variable needed in a follow up job into build.env. This also includes the url to the fng-install.sh of the final image. 3. The build.env file is used as dotenv artifact, as well as normal file artifact. The dotenv make the written variables automatically available in follow up jobs, that are using the aritfacts, like the deploy job. The normal file artifact is available via artifact download. (I did't found a way to download the dotenv file instead) 4. Some scripts have been added: - Find a job inside the pipeline by name, as the id is not known in advance. - Download all artifacts or one file of the artifacts from a given job - Download one file of the latest job by name 5. The scripts are used to download the build.env into the test job (where not artifacts are needed anymore) 6. The script is sourced and all variables are available inside the script. Additionally this adds a fake build job to the ci-test pipeline, that copies an image from srv73 and stores it as artifact in a way that a test-job can run on it, like in the normal yocto pipeline. -- Commit: seco-ne/yocto/infrastructure/gitlab-ci@52bae4a1 Lava Testreporting: Add script to generate markdown report for given jobids Adds scripts for mark down generation. Adds scripts for lava test result queries. Adds script to generate a mark down report from this data Call script from submit_test to generate a report directly after the testrun.
Please register or sign in to comment