[ 
https://issues.apache.org/jira/browse/COMDEV-495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tim Bossenmaier updated COMDEV-495:
-----------------------------------
    Labels: StreamPipes gsoc gsoc2022 gsoc2023 mentor part-time streampipes  
(was: gsoc gsoc2022 gsoc2023 mentor part-time streampipes)

> Code Insights for Apache StreamPipes
> ------------------------------------
>
>                 Key: COMDEV-495
>                 URL: https://issues.apache.org/jira/browse/COMDEV-495
>             Project: Community Development
>          Issue Type: Improvement
>          Components: GSoC/Mentoring ideas
>            Reporter: Tim Bossenmaier
>            Priority: Major
>              Labels: StreamPipes, gsoc, gsoc2022, gsoc2023, mentor, 
> part-time, streampipes
>
> h3. *Apache StreamPipes*
> Apache StreamPipes (incubating) is a self-service (Industrial) IoT toolbox to 
> enable non-technical users to connect, analyze and explore IoT data streams. 
> StreamPipes offers several modules including StreamPipes Connect to easily 
> connect data from industrial IoT sources, the Pipeline Editor to quickly 
> create processing pipelines and several visualization modules for live and 
> historic data exploration. Under the hood, StreamPipes utilizes an 
> event-driven microservice paradigm of standalone, so-called analytics 
> microservices making the system easy to extend for individual needs.
> h3. *Background*
> StreamPipes has grown significantly throughout recent years. We were able to 
> introduce a lot of new features and attracted both users and contributors. 
> Putting the cherry on the cake, we were graduated as an Apache top level 
> project in December 2022. We will of course continue developing new features 
> and never rest to make StreamPipes even more amazing. Although, since we are 
> approaching with full stream towards our `1.0` release, we want to project 
> also to get more mature. Therefore, we want to address one of our Achilles' 
> heels: our test coverage.
> Don't worry, this issue is not about implementing myriads of tests for our 
> code base. As a first step, we would like to make the status quo transparent. 
> That means we want to measure our code coverage consistently across the whole 
> codebase (Backend, UI, Python library) and report the coverage to 
> [codecov|https://about.codecov.io]. Furthermore, to benchmark ourselves and 
> motivate us to provide tests with every contributing, we would like to lock 
> the current test coverage as an lower threshold that we always want to 
> achieve (meaning in case we drop CI builds fail etc). With time we then can 
> increase the required coverage lever step to step.
> More than monitoring our test coverage, we also want to invest in better and 
> more clean code. Therefore, we would like to adopt 
> [sonarcloud|https://www.sonarsource.com/products/sonarcloud/] for our 
> repository.
> h3. *Tasks*
>  - [ ] calculate test coverage for all main parts of the repo
>  - [ ] send coverage to codeCov
>  - [ ] determine coverage threshold and let CI fail if below
>  - [ ] include sonarcloud in CI setup
>  - [ ] include automatic coverage report in PR validation (see an example 
> [here|https://github.com/pydantic/pydantic/pull/648#issuecomment-509855300] ) 
> -> optional
>  - [ ] include automatic sonarcloud report in PR validation -> optional
>  - [ ] what ever comes in your mind šŸ’” further ideas are always welcome
> Ā 
> h3. *ā—Important Noteā—*
> Do not create any account in behalf of Apache StreamPipes in Sonarcloud or in 
> CodeCov or using the name of Apache StreamPipes for any account creation. 
> Your mentor will take care of it.
> Ā 
> h3. *Relevant Skills*
>  - basic knowledge about GitHub worfklows
> h3.*Learning Material*
>  - [GitHub workflow docs|https://docs.github.com/en/actions/using-workflows]
>  - [Apache StreamPipes 
> workflows|https://github.com/apache/streampipes/tree/dev/.github/workflows]
>  - [Sonarcloud for 
> Monorepos|https://docs.sonarcloud.io/advanced-setup/monorepo-support/]
>  - Using code cov for a monorepo: 
> [https://www.curtiscode.dev/post/tools/codecov-monorepo/] & 
> [https://docs.codecov.com/docs/flags]
> Ā 
> h3. *Name and Contact Information*
> Name: Tim Bossenmaier
> email: Ā bossenti[at]apache.org
> community: dev[at]apache.org
> website: [https://streampipes.apache.org/]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@community.apache.org
For additional commands, e-mail: dev-h...@community.apache.org

Reply via email to