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

Setup Kover as test coverage tool #2793

Merged
merged 23 commits into from
Dec 9, 2022
Merged

Setup Kover as test coverage tool #2793

merged 23 commits into from
Dec 9, 2022

Conversation

MarkMarkyMarkus
Copy link
Contributor

Closes #2557.

Run ./gradlew koverMergedHtmlReport to build merged html report for all projects.

Example:
arrow-kover-example

Signed-off-by: MarkMarkyMarkus <morofreestyle@gmail.com>
@serras
Copy link
Member

serras commented Aug 16, 2022

@MarkMarkyMarkus is it possible to obtain these reports as part of the GitHub Action we are currently running?

Signed-off-by: MarkMarkyMarkus <morofreestyle@gmail.com>
@MarkMarkyMarkus
Copy link
Contributor Author

@MarkMarkyMarkus is it possible to obtain these reports as part of the GitHub Action we are currently running?

Yes, it can be found in artifacts. But downloading reports-*-latest.zip from artifacts is not very convenient.
Maybe it would be better to upload the report to something like Codecov?

@nomisRev
Copy link
Member

Tagging in @JavierSegoviaCordoba, because I know he has some experience with this. I remember you telling me about some issues with codecov?

IIRC ./gradlew build already generates the reports.

@JavierSegoviaCordoba
Copy link
Member

I didn't get it working with codecov and I stopped to use codecov too.

@JavierSegoviaCordoba
Copy link
Member

Additionally, I got it working with sonarcloud, not sure if you are interested in using that platform tho

@MarkMarkyMarkus
Copy link
Contributor Author

IIRC ./gradlew build already generates the reports.

No, Kover reports are not generated by the build task.

I tested the integration with CodeCov:

arrow-codecov-example

Looks strange, I think it's related to this issue (comment).

@serras
Copy link
Member

serras commented Aug 31, 2022

After trying a lot, it turns out that the problem with Kover here is related to GitHub Actions permissions. In particular PRs from forks are not allowed to add comments to the PR, and thus the action here fails.

@serras
Copy link
Member

serras commented Aug 31, 2022

In particular, you can go to the Action logs, and see the GITHUB_TOKEN permissions. For this PR, for example, you have pull_requests: read, but for branches within the repo you have pull_requests: write.

@serras
Copy link
Member

serras commented Aug 31, 2022

@i-walker @nomisRev @raulraja does it make sense to have this if GitHub won't allow reporting it as part of the PR?

@MarkMarkyMarkus
Copy link
Contributor Author

I think the previous steps failed due to Gradle crashing while running the tests. It looks like the tests require a lot of resources that the Github runner can't provide (couldn't complete gradlew build step).

@JavierSegoviaCordoba
Copy link
Member

@serras we can at least track the coverage between alpha releases.

@nomisRev
Copy link
Member

nomisRev commented Sep 5, 2022

does it make sense to have this if GitHub won't allow reporting it as part of the PR?

I see tickets related to this on the Kover repo, so it seems they're solving this issue. IMO merging this work in preparation of future improvements to Kover makes sense. I expect the official tool to have a proper solution for this use-case.

@nomisRev
Copy link
Member

nomisRev commented Sep 5, 2022

I think the previous steps failed due to Gradle crashing while running the tests. It looks like the tests require a lot of resources that the Github runner can't provide (couldn't complete gradlew build step).

@MarkMarkyMarkus yes.. for some time sometimes Github Actions fails when building the projects. We have a hard time reproducing this, and I've never been able to reproduce it locally. It seems to have something to do with the Gradle configuration steps where it times out on a hardcoded timeout. gradle/gradle#19446 There seems to be a PR with a fix open 🥳

@JavierSegoviaCordoba
Copy link
Member

With the new APIs you have been working and simplifying everything, the build time will be lower too right?

Maybe that plus separating a few artifacts into multiple repositories can solve the problem.

@nomisRev
Copy link
Member

nomisRev commented Sep 5, 2022

With the new APIs you have been working and simplifying everything, the build time will be lower too right?

Yes, build time will go down and complexity of the project in general too but that might take until next year until the code is fully out of the repo. We might also still split into separate repos soon-ish too, like we did for suspendapp. I hope to do the same for Arrow (Fx) Resilience.

Copy link
Member

@serras serras left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@nomisRev
Copy link
Member

nomisRev commented Dec 9, 2022

Hey @MarkMarkyMarkus,
Thank you so much for the contribution! And congrats on your first contribution being merged 🙌 🥳
Sorry it took so very long to get this picked back up and merged 🙈

@serras in a comment above you mentioned it doesn't work for external forks, due to the GITHUB_TOKEN. For now I just disable the steps for forks, so we at least get it on PRs of maintainers. If we enable a minimum coverage limit, we can enable the kover step to fail the build if coverage drops below it.

@nomisRev nomisRev merged commit 93f0731 into arrow-kt:main Dec 9, 2022
github-merge-queue bot referenced this pull request in elide-dev/elide Jul 23, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [io.arrow-kt:arrow-fx-coroutines](https://github.com/arrow-kt/arrow)
| `1.1.3` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.arrow-kt:arrow-fx-coroutines/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.arrow-kt:arrow-fx-coroutines/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.arrow-kt:arrow-fx-coroutines/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.arrow-kt:arrow-fx-coroutines/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.arrow-kt:arrow-optics-ksp-plugin](https://github.com/arrow-kt/arrow)
| `1.1.3` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.arrow-kt:arrow-optics-ksp-plugin/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.arrow-kt:arrow-optics-ksp-plugin/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.arrow-kt:arrow-optics-ksp-plugin/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.arrow-kt:arrow-optics-ksp-plugin/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.arrow-kt:arrow-optics](https://github.com/arrow-kt/arrow) |
`1.1.3` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.arrow-kt:arrow-optics/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.arrow-kt:arrow-optics/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.arrow-kt:arrow-optics/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.arrow-kt:arrow-optics/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) |
`1.1.3` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.arrow-kt:arrow-core/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.arrow-kt:arrow-core/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.arrow-kt:arrow-core/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.arrow-kt:arrow-core/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [io.arrow-kt:arrow-stack](https://github.com/arrow-kt/arrow) |
`1.1.3` -> `1.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.arrow-kt:arrow-stack/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.arrow-kt:arrow-stack/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.arrow-kt:arrow-stack/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.arrow-kt:arrow-stack/1.1.3/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### ⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the
Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>arrow-kt/arrow (io.arrow-kt:arrow-fx-coroutines)</summary>

### [`v1.2.0`](https://github.com/arrow-kt/arrow/releases/tag/1.2.0)

[Compare
Source](https://github.com/arrow-kt/arrow/compare/1.1.5...1.2.0)

##### What's Changed

- Add CNAME file to Dokka output by
[@&#8203;franciscodr](https://github.com/franciscodr) in
[https://github.com/arrow-kt/arrow/pull/3029](https://github.com/arrow-kt/arrow/pull/3029)
- Remove legacy site code by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/3030](https://github.com/arrow-kt/arrow/pull/3030)
- Update README by [@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3033](https://github.com/arrow-kt/arrow/pull/3033)
- Cancel previous PR action on new commit by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/3032](https://github.com/arrow-kt/arrow/pull/3032)
- Remove legacy script files by
[@&#8203;franciscodr](https://github.com/franciscodr) in
[https://github.com/arrow-kt/arrow/pull/3034](https://github.com/arrow-kt/arrow/pull/3034)
- Ensure optics type with "data" modifier is a class by
[@&#8203;DeoTimeTheGithubUser](https://github.com/DeoTimeTheGithubUser)
in
[https://github.com/arrow-kt/arrow/pull/3036](https://github.com/arrow-kt/arrow/pull/3036)
- Update all dependencies (major) by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/arrow-kt/arrow/pull/3042](https://github.com/arrow-kt/arrow/pull/3042)
- Remove test dependency from Arrow Fx by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/3046](https://github.com/arrow-kt/arrow/pull/3046)
- Bump Kotlin, KSP and coroutines version by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/3047](https://github.com/arrow-kt/arrow/pull/3047)
- fix mapIndexed when collecting multiple times by
[@&#8203;hoc081098](https://github.com/hoc081098) in
[https://github.com/arrow-kt/arrow/pull/3056](https://github.com/arrow-kt/arrow/pull/3056)
- Update versions by [@&#8203;nomisRev](https://github.com/nomisRev)
in
[https://github.com/arrow-kt/arrow/pull/3058](https://github.com/arrow-kt/arrow/pull/3058)
- optics ksp plugin: fixed handling of variance
([#&#8203;3057](https://github.com/arrow-kt/arrow/issues/3057)) by
[@&#8203;vladd-g](https://github.com/vladd-g) in
[https://github.com/arrow-kt/arrow/pull/3060](https://github.com/arrow-kt/arrow/pull/3060)
- Fixes recover inconsistency with raise DSL on types other than Either
by [@&#8203;yoxjames](https://github.com/yoxjames) in
[https://github.com/arrow-kt/arrow/pull/3052](https://github.com/arrow-kt/arrow/pull/3052)
- Change NonEmptySet type parameter name from T to A by
[@&#8203;franciscodr](https://github.com/franciscodr) in
[https://github.com/arrow-kt/arrow/pull/3062](https://github.com/arrow-kt/arrow/pull/3062)
- Add withError and (Eager)Effect.mapError by
[@&#8203;kyay10](https://github.com/kyay10) in
[https://github.com/arrow-kt/arrow/pull/3059](https://github.com/arrow-kt/arrow/pull/3059)
- Update versions of several libraries by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3017](https://github.com/arrow-kt/arrow/pull/3017)
- Add merge builder for raise by
[@&#8203;kyay10](https://github.com/kyay10) in
[https://github.com/arrow-kt/arrow/pull/3061](https://github.com/arrow-kt/arrow/pull/3061)
- Update all dependencies by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/arrow-kt/arrow/pull/3065](https://github.com/arrow-kt/arrow/pull/3065)
- Update dependency gradle to v8.2 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/arrow-kt/arrow/pull/3070](https://github.com/arrow-kt/arrow/pull/3070)
- Fix warnings of single-subclass sealed classes by
[@&#8203;jooohn](https://github.com/jooohn) in
[https://github.com/arrow-kt/arrow/pull/3067](https://github.com/arrow-kt/arrow/pull/3067)
- KDoc for `Raise#raise`, `Raise#ensure` and `Raise#ensureNotNull` by
[@&#8203;ILIYANGERMANOV](https://github.com/ILIYANGERMANOV) in
[https://github.com/arrow-kt/arrow/pull/3038](https://github.com/arrow-kt/arrow/pull/3038)
- Fix text repetition in EffectScope's deprecation message by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3072](https://github.com/arrow-kt/arrow/pull/3072)
- Introduce `NonEmptyCollection` by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3068](https://github.com/arrow-kt/arrow/pull/3068)
- Set up Spotless by [@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3075](https://github.com/arrow-kt/arrow/pull/3075)
- Update all dependencies by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/arrow-kt/arrow/pull/3079](https://github.com/arrow-kt/arrow/pull/3079)
- Add option to disable `inline` when using `@optics` by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3078](https://github.com/arrow-kt/arrow/pull/3078)
- Update JS versions in `yarn.lock` by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3084](https://github.com/arrow-kt/arrow/pull/3084)
- Enable Automatic Modules for JVM by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3071](https://github.com/arrow-kt/arrow/pull/3071)
- Serialization module by [@&#8203;serras](https://github.com/serras)
in
[https://github.com/arrow-kt/arrow/pull/3077](https://github.com/arrow-kt/arrow/pull/3077)
- Add missing docs for `Raise` operations by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3082](https://github.com/arrow-kt/arrow/pull/3082)
- Add mapOrAccumulate extension in RaiseAccumulate by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/3086](https://github.com/arrow-kt/arrow/pull/3086)
- Additional tests for `copy` in Optics by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3089](https://github.com/arrow-kt/arrow/pull/3089)
- Apply Gradle Versioning in top project by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3092](https://github.com/arrow-kt/arrow/pull/3092)
- Add missing Versioning plug-in to `arrow-core-retrofit` by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3093](https://github.com/arrow-kt/arrow/pull/3093)
- Update `arrow-gradle-config` to 0.12-rc.4 by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3094](https://github.com/arrow-kt/arrow/pull/3094)
- MemoizedDeepRecursiveFunction by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/3091](https://github.com/arrow-kt/arrow/pull/3091)
- Add reset and barrierAction to CyclicBarrier. by
[@&#8203;HSAR](https://github.com/HSAR) in
[https://github.com/arrow-kt/arrow/pull/3055](https://github.com/arrow-kt/arrow/pull/3055)
- \[HOTFIX] Fix main publish by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/3095](https://github.com/arrow-kt/arrow/pull/3095)

##### New Contributors

-
[@&#8203;DeoTimeTheGithubUser](https://github.com/DeoTimeTheGithubUser)
made their first contribution in
[https://github.com/arrow-kt/arrow/pull/3036](https://github.com/arrow-kt/arrow/pull/3036)
- [@&#8203;vladd-g](https://github.com/vladd-g) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/3060](https://github.com/arrow-kt/arrow/pull/3060)
- [@&#8203;yoxjames](https://github.com/yoxjames) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/3052](https://github.com/arrow-kt/arrow/pull/3052)
- [@&#8203;kyay10](https://github.com/kyay10) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/3059](https://github.com/arrow-kt/arrow/pull/3059)
- [@&#8203;jooohn](https://github.com/jooohn) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/3067](https://github.com/arrow-kt/arrow/pull/3067)
- [@&#8203;ILIYANGERMANOV](https://github.com/ILIYANGERMANOV) made
their first contribution in
[https://github.com/arrow-kt/arrow/pull/3038](https://github.com/arrow-kt/arrow/pull/3038)
- [@&#8203;HSAR](https://github.com/HSAR) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/3055](https://github.com/arrow-kt/arrow/pull/3055)

**Full Changelog**:
arrow-kt/arrow@1.2.0-RC...1.2.0

### [`v1.1.5`](https://github.com/arrow-kt/arrow/releases/tag/1.1.5)

[Compare
Source](https://github.com/arrow-kt/arrow/compare/1.1.4...1.1.5)

#### What's Changed

- Remove `test` modules by [@&#8203;serras](https://github.com/serras)
in
[https://github.com/arrow-kt/arrow/pull/2874](https://github.com/arrow-kt/arrow/pull/2874)
- Mention Arrow 2.0 in README by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/2878](https://github.com/arrow-kt/arrow/pull/2878)
- Prisms for Either by [@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/2877](https://github.com/arrow-kt/arrow/pull/2877)
- Test 1.8.0 on CI by [@&#8203;nomisRev](https://github.com/nomisRev)
in
[https://github.com/arrow-kt/arrow/pull/2864](https://github.com/arrow-kt/arrow/pull/2864)
- Implement 'align' using 'buildList' by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/2886](https://github.com/arrow-kt/arrow/pull/2886)
- Improve debugging experience of leaked shift calls by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2884](https://github.com/arrow-kt/arrow/pull/2884)
- Fix knitCheck & re-add check by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2887](https://github.com/arrow-kt/arrow/pull/2887)

**Full Changelog**:
arrow-kt/arrow@1.1.4...1.1.5

### [`v1.1.4`](https://github.com/arrow-kt/arrow/releases/tag/1.1.4)

[Compare
Source](https://github.com/arrow-kt/arrow/compare/1.1.3...1.1.4)

#### What's Changed

- \[2743] Migrate internal use of CircuitBreaker double to duration by
[@&#8203;mjmoore](https://github.com/mjmoore) in
[https://github.com/arrow-kt/arrow/pull/2748](https://github.com/arrow-kt/arrow/pull/2748)
- Fix typo by [@&#8203;valery1707](https://github.com/valery1707) in
[https://github.com/arrow-kt/arrow/pull/2824](https://github.com/arrow-kt/arrow/pull/2824)
- Make the server disconnect test more general by
[@&#8203;lukasz-kalnik-gcx](https://github.com/lukasz-kalnik-gcx) in
[https://github.com/arrow-kt/arrow/pull/2822](https://github.com/arrow-kt/arrow/pull/2822)
- Update NonEmptyList.fromList deprecation to suggest `toOption()`
instead by [@&#8203;StylianosGakis](https://github.com/StylianosGakis)
in
[https://github.com/arrow-kt/arrow/pull/2832](https://github.com/arrow-kt/arrow/pull/2832)
- Improve Either.getOrHandle() docs by
[@&#8203;lukasz-kalnik-gcx](https://github.com/lukasz-kalnik-gcx) in
[https://github.com/arrow-kt/arrow/pull/2833](https://github.com/arrow-kt/arrow/pull/2833)
- Correct `addressStrees` -> `addressStreet` in optics documentation by
[@&#8203;vikrem](https://github.com/vikrem) in
[https://github.com/arrow-kt/arrow/pull/2836](https://github.com/arrow-kt/arrow/pull/2836)
- Arrow Fx: deprecate Platform#composeError, never and unit() by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2837](https://github.com/arrow-kt/arrow/pull/2837)
- Backport Optics KSP plugin NPE on multiplatform fix by
[@&#8203;cvb941](https://github.com/cvb941) in
[https://github.com/arrow-kt/arrow/pull/2840](https://github.com/arrow-kt/arrow/pull/2840)
- Refactor -
[#&#8203;2812](https://github.com/arrow-kt/arrow/issues/2812) sequence
separate performance by [@&#8203;Khepu](https://github.com/Khepu) in
[https://github.com/arrow-kt/arrow/pull/2818](https://github.com/arrow-kt/arrow/pull/2818)
- Use `super` equals and hashCode overrides for NonEmptyList by
[@&#8203;RusticFlare](https://github.com/RusticFlare) in
[https://github.com/arrow-kt/arrow/pull/2825](https://github.com/arrow-kt/arrow/pull/2825)
- Resource API deprecation, and preparation for 2.x.x. & back port
improvements by [@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2847](https://github.com/arrow-kt/arrow/pull/2847)
- introduce iterable.toNonEmptyListOrNone() by
[@&#8203;myuwono](https://github.com/myuwono) in
[https://github.com/arrow-kt/arrow/pull/2843](https://github.com/arrow-kt/arrow/pull/2843)
- \[PROPOSAL] Either API deprecation, and preparation for 2.x.x by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2830](https://github.com/arrow-kt/arrow/pull/2830)
- Use major versions in GitHub Actions by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/2849](https://github.com/arrow-kt/arrow/pull/2849)
- Weaken Either monoid dependencies to only require a semigroup on left
by [@&#8203;mjvmroz](https://github.com/mjvmroz) in
[https://github.com/arrow-kt/arrow/pull/2845](https://github.com/arrow-kt/arrow/pull/2845)
- Do not reuse the name of the file in Optics KSP by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/2850](https://github.com/arrow-kt/arrow/pull/2850)
- Additional deprecations, and backports for JVM by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2856](https://github.com/arrow-kt/arrow/pull/2856)
- Update various versions by
[@&#8203;serras](https://github.com/serras) in
[https://github.com/arrow-kt/arrow/pull/2852](https://github.com/arrow-kt/arrow/pull/2852)
- Add CountDownLatch by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2854](https://github.com/arrow-kt/arrow/pull/2854)
- Add CyclicBarrier by [@&#8203;nomisRev](https://github.com/nomisRev)
in
[https://github.com/arrow-kt/arrow/pull/2857](https://github.com/arrow-kt/arrow/pull/2857)
- Temp rollback error handling deprecations until 1.2.x by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2858](https://github.com/arrow-kt/arrow/pull/2858)
- Setup Kover as test coverage tool by
[@&#8203;MarkMarkyMarkus](https://github.com/MarkMarkyMarkus) in
[https://github.com/arrow-kt/arrow/pull/2793](https://github.com/arrow-kt/arrow/pull/2793)
- Fix Monad.either binary combat by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2867](https://github.com/arrow-kt/arrow/pull/2867)
- Backport: MPP No Trace by
[@&#8203;nomisRev](https://github.com/nomisRev) in
[https://github.com/arrow-kt/arrow/pull/2869](https://github.com/arrow-kt/arrow/pull/2869)

#### New Contributors

- [@&#8203;mjmoore](https://github.com/mjmoore) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/2748](https://github.com/arrow-kt/arrow/pull/2748)
- [@&#8203;valery1707](https://github.com/valery1707) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/2824](https://github.com/arrow-kt/arrow/pull/2824)
- [@&#8203;lukasz-kalnik-gcx](https://github.com/lukasz-kalnik-gcx)
made their first contribution in
[https://github.com/arrow-kt/arrow/pull/2822](https://github.com/arrow-kt/arrow/pull/2822)
- [@&#8203;StylianosGakis](https://github.com/StylianosGakis) made
their first contribution in
[https://github.com/arrow-kt/arrow/pull/2832](https://github.com/arrow-kt/arrow/pull/2832)
- [@&#8203;vikrem](https://github.com/vikrem) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/2836](https://github.com/arrow-kt/arrow/pull/2836)
- [@&#8203;cvb941](https://github.com/cvb941) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/2840](https://github.com/arrow-kt/arrow/pull/2840)
- [@&#8203;RusticFlare](https://github.com/RusticFlare) made their
first contribution in
[https://github.com/arrow-kt/arrow/pull/2825](https://github.com/arrow-kt/arrow/pull/2825)
- [@&#8203;mjvmroz](https://github.com/mjvmroz) made their first
contribution in
[https://github.com/arrow-kt/arrow/pull/2845](https://github.com/arrow-kt/arrow/pull/2845)
- [@&#8203;MarkMarkyMarkus](https://github.com/MarkMarkyMarkus) made
their first contribution in
[https://github.com/arrow-kt/arrow/pull/2793](https://github.com/arrow-kt/arrow/pull/2793)

**Full Changelog**:
arrow-kt/arrow@1.1.3...1.1.4-rc.3

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/elide-dev/elide).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMTEuMCIsInRhcmdldEJyYW5jaCI6InYzIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

["Request"] Setup Kover as test coverage tool
4 participants