C++ CI/CD #8

Open
opened 2021-12-12 13:27:30 +00:00 by jon_nfc · 40 comments
jon_nfc commented 2021-12-12 13:27:30 +00:00 (Migrated from gitlab.com)

📝 Description

Create a build pipeline for C++. Base the build system of CMake for maximum cross-platform coverage. Must support builds for windows and linux.

Idea would be to create a docker image that contains the following software for building C++ Projects:

  • GCC (Linux C/C++ Compiler)
  • MinGW (Linux C/C++ Cross-Compiler for windows)
  • CMake (Build system)
  • GTest (Unit Testing)
  • Gcov (Code Coverage)

👷 Tasks

  • Build
  • code coverage
  • code quality?
  • tests
    • Unit
    • functional
    • Integration
  • Packaging (installer/deb package)
  • Cross Platform configurable
  • Reports output as JUnit
  • All Build objects added to artifacts for storage
## :memo: Description Create a build pipeline for C++. Base the build system of CMake for maximum cross-platform coverage. Must support builds for windows and linux. Idea would be to create a docker image that contains the following software for building C++ Projects: - GCC (Linux C/C++ Compiler) - MinGW (Linux C/C++ Cross-Compiler for windows) - CMake (Build system) - GTest (Unit Testing) - Gcov (Code Coverage) ### :links: Links / References - see nofusscomputing/projects/marcus/library!3 for starting code - See https://gitlab.com/nofusscomputing/projects/marcus/library/-/issues/1#note_767715829 for coverage notes ### :construction_worker: Tasks - [ ] Build - [ ] code coverage - [ ] code quality? - [ ] tests - [ ] Unit - [ ] functional - [ ] Integration - [ ] Packaging (installer/deb package) - [ ] Cross Platform configurable - [ ] Reports output as JUnit - [ ] All Build objects added to artifacts for storage
jon_nfc commented 2021-12-12 13:34:20 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
jon_nfc commented 2021-12-12 13:34:56 +00:00 (Migrated from gitlab.com)

added 15m of time spent

added 15m of time spent
jon_nfc commented 2021-12-12 13:44:47 +00:00 (Migrated from gitlab.com)

[DRAFT] CMake Build

Build a project by using CMake. A CMakeLists.txt must exist in the projects root directory.

This job provides no badge.

Dependencies

  • Any Validation Job

your .gitlab-ci.yml changes

To use this job add the following to your .gitlab-ci.yml file

variables:
    VARNAME: "a var value"

stages:
    - build

include:
    - local: CI/{job name}/.gitlab-ci.yml

CI/CD Variables required

var name Description
NEW VAR this var does this and bka

Job Workflow

  1. build project using ${}/CMakeLists.txt
  2. Build linux is file_name exists
  3. Build linux is file_name exists
  4. After ech build task copy build items to artifacts folder

Artifacts

  • ${}/build/archive/*
  • ${}/build/bin/*
  • ${}/build/lib/*

License

To view the license for this folder and any sub-folders, refer here

# [DRAFT] CMake Build Build a project by using CMake. A `CMakeLists.txt` must exist in the projects root directory. This job provides no badge. ## Dependencies - Any Validation Job ## your .gitlab-ci.yml changes To use this job add the following to your `.gitlab-ci.yml` file ``` yaml variables: VARNAME: "a var value" stages: - build include: - local: CI/{job name}/.gitlab-ci.yml ``` ## CI/CD Variables required | var name | Description | |:----:|:----| | NEW VAR | this var does this and bka | ## Job Workflow 1. build project using `${}/CMakeLists.txt` 1. Build linux is `file_name` exists 1. Build linux is `file_name` exists 1. After ech build task copy build items to artifacts folder ## Artifacts - ${}/build/archive/* - ${}/build/bin/* - ${}/build/lib/* ## License To view the license for this folder and any sub-folders, refer [here](https://gitlab.com/nofusscomputing/projects/gitlab-ci)
jon_nfc commented 2021-12-12 13:46:33 +00:00 (Migrated from gitlab.com)

changed time estimate to 40h

changed time estimate to 40h
jon_nfc commented 2021-12-12 13:46:33 +00:00 (Migrated from gitlab.com)

added 12m of time spent

added 12m of time spent
jon_nfc commented 2021-12-13 07:17:41 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
jon_nfc commented 2021-12-13 10:10:43 +00:00 (Migrated from gitlab.com)

[Draft] C++ Project CI/CD (readme.md)

This folder contains jobs applicable for C++ Pipelines.

The following tasks can be completed with these C++ Jobs:

For further details on each job, please refer to the folder containing the job.

# [Draft] C++ Project CI/CD (readme.md) This folder contains jobs applicable for C++ Pipelines. The following tasks can be completed with these C++ Jobs: - [build (CMake)](cpp/build/README.md) - Linux (GCC) - Windows (Mingw) - [test (googletest)](cpp/test/README.md) - Unit - Functional - Integration For further details on each job, please refer to the folder containing the job.
jon_nfc commented 2021-12-13 10:10:43 +00:00 (Migrated from gitlab.com)

added 15m of time spent

added 15m of time spent
jon_nfc commented 2021-12-14 01:31:57 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
jon_nfc commented 2021-12-14 02:27:04 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
nfc_bot commented 2021-12-30 03:43:20 +00:00 (Migrated from gitlab.com)

mentioned in issue nofusscomputing/ops#9

mentioned in issue nofusscomputing/ops#9
nfc_bot commented 2022-08-26 01:12:53 +00:00 (Migrated from gitlab.com)

mentioned in issue nofusscomputing/ops#55

mentioned in issue nofusscomputing/ops#55
nfc_bot commented 2022-09-26 00:31:15 +00:00 (Migrated from gitlab.com)

mentioned in issue nofusscomputing/ops#67

mentioned in issue nofusscomputing/ops#67
jon_nfc commented 2022-10-13 05:41:31 +00:00 (Migrated from gitlab.com)

changing milestone to %"Initial Public Release - Automation" to reflect that this issue is required for that project.

@jasonpage.tas, fyi this issue needs to be resolved so that we can unit test the code changes prior to releasing code. this is a ~"type::quality assurance" feature.

changing milestone to %"Initial Public Release - Automation" to reflect that this issue is required for that project. @jasonpage.tas, fyi this issue needs to be resolved so that we can unit test the code changes prior to releasing code. this is a ~"type::quality assurance" feature.
jon_nfc commented 2022-10-13 05:41:31 +00:00 (Migrated from gitlab.com)

added 5m of time spent

added 5m of time spent
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@bad30b2c4dbec75512c35e98a7e622e89bd92020
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@5769e0025000a3c83c301f309e2ff68c44b3135a
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@3572c3ee48d2d41c4725801f962bfa1af5594944
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@e37f408dc78093190fdf82438788c158b13a3636
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@9ee4650f3aa2f1c837bc05dedd6764c228b85f8c
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@4a9dd2a5d60b42f93b9019fc465a90a51c7cbc2a
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@418ee52d440debb2a81b00f8b3403e70c79ab50e
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@6e51d03a7a10c279e85996d74863e8ae58e28c12
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@77bf8a12e46a4fa71b66eda2142f126e255cd2bb
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@6056b127bffc204e4e50c858557bbdc70c043438
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@6829ada78c59c5298e6b195f1ab626e50c2a2602
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@a1bc40bd2c6c78ab9620d33143baa6be95ea82b3
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@e63aa219f8068d4f22c8ce693f54f5e76b975a01
jon_nfc commented 2022-12-27 05:13:57 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@faab17964d3e33426d57a6bbb2513e914be779bc
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@a3b54366e947e853a430616ce3ac47cc605a5e0f
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@0878767cdf22f10c58c5ead1b3868a442baa00f1
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@ada75639ff4a097f7d5302a28d3efa873a391e00
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@effd10c5a5b185d4938d323b628d13fb548dc942
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@cccb6a512ff14e7c2cbb7ecb6332fc26620262f5
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@e80754c20531480662eab4443301a3d784483cb7
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@418069fc069be175d08ecbfe91b232c8ec9d7d03
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@b106152ac85d25930c6621e00e479ef2d983244d
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@3840c8becf977cdc9eb346a43963bd3eb2b48c98
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@aec8e06ae76ec0b0ddeb48e160f93674ac16ee00
jon_nfc commented 2022-12-27 05:13:58 +00:00 (Migrated from gitlab.com)
mentioned in commit jon_nfc/arduino-library@843d8d07de0cace856d01760b866b5718e242e4b
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: infrastructure/gitlab-ci#8
No description provided.