Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Travsi-ci / any other CI #182

Closed
davidgraeff opened this issue Jun 24, 2016 · 15 comments
Closed

Travsi-ci / any other CI #182

davidgraeff opened this issue Jun 24, 2016 · 15 comments

Comments

@davidgraeff
Copy link

Hi,
some time ago I asked for this already (you remember, @dnav :D), but there was no definite answer. Is there any eclipse CI infrastructure that can be integrated into github, to execute the test suite on every commit and for every merge or can a public solution like travis-ci be used?

@dnav dnav added the tests label Mar 15, 2017
@davidgraeff
Copy link
Author

If the maintainers don't want a CI, this issue should be closed.

@dnav
Copy link
Contributor

dnav commented Jul 11, 2017

It is more a lack of time than a lack of will. Sorry.

@rettichschnidi
Copy link
Contributor

rettichschnidi commented Oct 15, 2020

I hacked together a simple PoC using GitHub Actions and SonarCloud:

I have not configured SonarCloud, which would be very much needed to make it actually useful. Also, I very much like Clang Static Analyzer and coverage-reports generated by lcov. Before adding/rebasing to those tools, and creating a PR, I'd like to know the following:

  • Would a GitHub runner be acceptable to Eclipse?
  • Who would enable SonarCloud access to this Wakaama repository? Maintain the SonarCloud account?

@sbernard31
Copy link
Contributor

Would a GitHub runner be acceptable to Eclipse?
Who would enable SonarCloud access to this Wakaama repository? Maintain the SonarCloud account?

You probably need to ask this to eclipse IT team opening a bugzilla issue : https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Community

@sbernard31
Copy link
Contributor

sbernard31 commented Oct 15, 2020

About eclipse CI infrastructure, I think the classic eclipse way is jenkins : https://ci.eclipse.org/
(I don't know if there is other way)

@rettichschnidi
Copy link
Contributor

I just created an issue in Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=568471

@sbernard31
Copy link
Contributor

Ok so I think we can use this bugzilla ticket to ask for a JIPP instance for Wakaama project.
But we need first a project lead to be able to give a "+1 from project lead". (Currently waiting for PMC approval ...)

Next question :

  1. What do you want Jenkins do for you ? (about sonar : https://wiki.eclipse.org/SonarQube)
  2. Do you want to use classic config or jenkins pipeline ?

@rettichschnidi
Copy link
Contributor

rettichschnidi commented Nov 4, 2020

According to comment 2 in Bugzilla, it sounds like GitHub is the way to go after all. I do not think that the mentioned services exclusive to Jenkins are needed by Wakaama, and as non-committer, I would not be able to configure Jenkins anyway. Therefore, question number 2 does not seem relevant anymore.

Regarding question 1:

  1. Building all executables. Deny PRs if failing.
  2. Execute tests. Deny PRs if failing.
  3. Measure test coverage. Deny if merging the PR would lower the coverage of the target branch.
  4. Integrate static code analysis. Deny PR when new defects detected.

I just created PR #489, which does, if and when merged to master, number 1. It also runs the unit tests, but does not (yet) fail when tests fail. Depending on when PR #423 gets merged, I will either create a follow-up PR or update this one.

if this goes in the right direction, I will then move on implementing 3 (SonarCloud and/or Gcov) and 4 (SonarCloud and/or Clang Static Analyzer). Publishing to SonarCloud.io I have already done, integrating it into GitHub to run on PRs seems to be straight forward, same goes for getting setting up a SonarCloud account. However, fine-tuning the SonarCloud profile likely needs to be done by a committer of this project (or whoever can get the needed permissions over there).

@rettichschnidi
Copy link
Contributor

rettichschnidi commented Nov 4, 2020

Some other ideas for later on:

rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Mar 29, 2021
Moving the build and test logic into a separate script simplifies
reusing and extending it.

I intend to add more functionality related to issue eclipse-wakaama#182 based on this
work.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Mar 29, 2021
Moving the build and test logic into a separate script simplifies
reusing and extending it.

I intend to add more functionality related to issue eclipse-wakaama#182 based on this
work.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Mar 29, 2021
Moving the build and test logic into a separate script simplifies
reusing and extending it.

I intend to add more functionality related to issue eclipse-wakaama#182 based on this
work.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Mar 29, 2021
Moving the build and test logic into a separate script simplifies
reusing and extending it.

Based on this work, I intend to add more CI related improvements.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Mar 29, 2021
Moving the build and test logic into a separate script simplifies
reusing and extending it.

Based on this work, I intend to add more CI related improvements.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Mar 29, 2021
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Mar 29, 2021
Also, add curly braces around variables.
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Mar 29, 2021
Please note:
 - thread sanitizer does not make too much sense on a single threaded
   code base, but who knows, what the future will bring?
 - memory sanitizer is not used as only Clang supports it
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Please note:
 - thread sanitizer does not make too much sense on a single threaded
   code base, but who knows, what the future will bring?
 - memory sanitizer is not used as only Clang supports it

Fixes for the found issues follow in a later commit.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Please note:
 - thread sanitizer does not make too much sense on a single threaded
   code base, but who knows, what the future will bring?
 - memory sanitizer is not (yet) used as only Clang supports it

This commit fixes also the one memory leak found while adding sanitizer
support.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Please note:
 - Thread sanitizer does not make too much sense on a single threaded
   code base, but who knows, what the future will bring?
 - Memory sanitizer is not (yet) used as only Clang supports it
 - Set CMake build type to RelWithDebInfo to allow pinpointing found
   leaks to the respective source code line, while also allowing to find
   bugs which only show a higher optimization levels.

This commit fixes also the one memory leak found while adding sanitizer
support.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Would also be OK with spelling it out as long as we keep it consistent.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Also, add curly braces around variables.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Please note:
 - Thread sanitizer does not make too much sense on a single threaded
   code base, but who knows, what the future will bring?
 - Memory sanitizer is not (yet) used as only Clang supports it
 - Set CMake build type to RelWithDebInfo to allow pinpointing found
   leaks to the respective source code line, while also allowing to find
   bugs which only show a higher optimization levels.

This commit fixes also the one memory leak found while adding sanitizer
support.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Also, add curly braces around variables.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Please note:
 - Thread sanitizer does not make too much sense on a single threaded
   code base, but who knows, what the future will bring?
 - Memory sanitizer is not (yet) used as only Clang supports it
 - Set CMake build type to RelWithDebInfo to allow pinpointing found
   leaks to the respective source code line, while also allowing to find
   bugs which only show a higher optimization levels.

This commit fixes also the one memory leak found while adding sanitizer
support.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 29, 2021
Also, add curly braces around variables.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 31, 2021
This allows a build all targets from within a single build directory,
which is needed for tools that operate on the whole code bases (i.e.
Clang Static Analyzer).

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 31, 2021
Findings do not yet break the build as those need to be fixed first.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 31, 2021
This allows a build all targets from within a single build directory,
which is needed for tools that operate on the whole code bases (i.e.
Clang Static Analyzer).

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 31, 2021
Findings are availabel as artifact, but no further actions (e.g.
breaking the build) taken. Will glady do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 31, 2021
Findings are availabel as artifact, but no further actions (e.g.
breaking the build) taken. Will glady do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 31, 2021
Findings are availabel as artifact, but no further actions (e.g.
breaking the build) taken. Will glady do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Mar 31, 2021
Findings are availabel as artifact, but no further actions (e.g.
breaking the build) taken. Will glady do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 1, 2021
Findings are available as artifact, but no further actions (e.g.
breaking the build) taken. Will gladdy do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 1, 2021
Signed-off-by: Reto Schneider <code@reto-schneider.ch>
@davidgraeff
Copy link
Author

My initial issue is solved. And even adapted, by not using Travis CI which was common in 2016 and suggested by me, but Github actions. The ticket can be closed, thanks :)

@rettichschnidi
Copy link
Contributor

From my POV, once PR #570 is merged, the most relevant points are addressed (not perfectly, but good enough for now).

rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 2, 2021
Findings are available as artifact, but no further actions (e.g.
breaking the build) taken. Will gladdy do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 2, 2021
Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 2, 2021
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 2, 2021
Findings are available as artifact, but no further actions (e.g.
breaking the build) taken. Will gladdy do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 2, 2021
Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 2, 2021
This file uses 2, not 4 spaces.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 2, 2021
This allows to run tests without (attempting to) rebuild them.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 2, 2021
This allows a build all targets from within a single build directory,
which is needed for tools that operate on the whole code bases (i.e.
Clang Static Analyzer).

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 2, 2021
Findings are available as artifact, but no further actions (e.g.
breaking the build) taken. Will gladdy do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 2, 2021
Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to rettichschnidi/wakaama that referenced this issue Apr 5, 2021
Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 5, 2021
Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 6, 2021
This file uses 2, not 4 spaces.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 6, 2021
This allows to run tests without (attempting to) rebuild them.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 6, 2021
This allows a build all targets from within a single build directory,
which is needed for tools that operate on the whole code bases (i.e.
Clang Static Analyzer).

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 6, 2021
Findings are available as artifact, but no further actions (e.g.
breaking the build) taken. Will gladdy do so however once we have fixed
the current findings.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
rettichschnidi added a commit to husqvarnagroup/wakaama that referenced this issue Apr 6, 2021
Signed-off-by: Reto Schneider <code@reto-schneider.ch>
@rettichschnidi
Copy link
Contributor

Done! 🥳

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants