Comments (15)
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:
- Building all executables. Deny PRs if failing.
- Execute tests. Deny PRs if failing.
- Measure test coverage. Deny if merging the PR would lower the coverage of the target branch.
- 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.
Done! 🥳
from wakaama.
If the maintainers don't want a CI, this issue should be closed.
from wakaama.
It is more a lack of time than a lack of will. Sorry.
from wakaama.
I hacked together a simple PoC using GitHub Actions and SonarCloud:
- Repo overview
- main.yml
- Resulting report (Link will break in the future)
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.
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.
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.
I just created an issue in Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=568471
from wakaama.
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 :
- What do you want Jenkins do for you ? (about sonar : https://wiki.eclipse.org/SonarQube)
- Do you want to use classic config or jenkins pipeline ?
from wakaama.
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.
@rettichschnidi do you plan to integrate more CI or do you consider this issue is resolved ?
from wakaama.
OK I get my answer, it seems there are more ( 👉 #567)
from wakaama.
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.
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.
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)
- Block-wise transfer on observe response? HOT 1
- How should we document Wakaama HOT 9
- server write operation , response COAP_400_BAD_REQUEST HOT 2
- Moving from Master to Main HOT 4
- Election of new committer HOT 9
- Option to transfer the Wakaama repository to its own organisation HOT 8
- How to use the wakaama library for Espressif HOT 5
- Question regarding the appropriate license for this project HOT 1
- Support of send operation for single resource data with TLV format ? HOT 10
- Is Leshan ready for production usage ? HOT 2
- Inquiry about CoAP Fetch Functionality Implementation HOT 3
- Client SEND operation does not use fragmentation leading to oversized CoAP packets
- Fixed buffer size in senml_json_serialize limits handling of multiple resources HOT 1
- Build Fails if LWM2M_RAW_BLOCK1_REQUESTS set HOT 4
- Compile server&client example with DTLS HOT 1
- Include other libraries in examples HOT 1
- Wakaama logs arbitrary bytes to stdout
- client example building issue HOT 5
- Layered Architecture HOT 1
- Retrieve large amount of data from a Client on a memory limited device HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wakaama.