Coder Social home page Coder Social logo

Comments (15)

rettichschnidi avatar rettichschnidi commented on September 23, 2024 1

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).

from wakaama.

rettichschnidi avatar rettichschnidi commented on September 23, 2024 1

Done! 🥳

from wakaama.

davidgraeff avatar davidgraeff commented on September 23, 2024

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

from wakaama.

dnav avatar dnav commented on September 23, 2024

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

from wakaama.

rettichschnidi avatar rettichschnidi commented on September 23, 2024

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?

from wakaama.

sbernard31 avatar sbernard31 commented on September 23, 2024

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

from wakaama.

sbernard31 avatar sbernard31 commented on September 23, 2024

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)

from wakaama.

rettichschnidi avatar rettichschnidi commented on September 23, 2024

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

from wakaama.

sbernard31 avatar sbernard31 commented on September 23, 2024

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 ?

from wakaama.

rettichschnidi avatar rettichschnidi commented on September 23, 2024

Some other ideas for later on:

  • Code style checks using clang-format (will need some discussion)
  • Running binaries with optimizations and sanitizers (e.g. address, memory, undefined behavior) enabled (maybe helpful for issues like #444, #416)
  • Build and test on non-x86 architectures.
  • Building more combinations of defines

from wakaama.

sbernard31 avatar sbernard31 commented on September 23, 2024

@rettichschnidi do you plan to integrate more CI or do you consider this issue is resolved ?

from wakaama.

sbernard31 avatar sbernard31 commented on September 23, 2024

OK I get my answer, it seems there are more ( 👉 #567)

from wakaama.

rettichschnidi avatar rettichschnidi commented on September 23, 2024

Yes, I intend to get another ~3 PRs merged:

  • As you have seen, #567, code coverage measurement
  • Clang build
  • Some kind of static code analysis

@davidgraeff Have you moved on or is there a chance you review/give feedback regarding the current work in this area?

from wakaama.

davidgraeff avatar davidgraeff commented on September 23, 2024

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 :)

from wakaama.

rettichschnidi avatar rettichschnidi commented on September 23, 2024

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

from wakaama.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.