Open Goooler opened 3 months ago
@Goooler, the current klib-abi-validation pipeline extracts an ABI for supported targets from a file stored within the source's api-dir and writes a resulting file into build/api/klib-all/extracted/...
.
In your example, the first file is a file created by filtering out unsupported targets from an ABI file stored within project sources, and the second file is an ABI generated for the current revision:
--- /home/runner/work/Calendar/Calendar/compose-multiplatform/library/build/api/klib-all/extracted/library.klib.api
+++ /home/runner/work/Calendar/Calendar/compose-multiplatform/library/build/api/klib/library.klib.api
So there's nothing wrong in both files being stored in build dir.
The problem with the validation failing in CI seems to be caused by the rootProject.name
property not being set in the kizitonwose/Calendar
project. Unless the property set, Gradle will use the root directory name as a project name.
Thanks! It works now.
Is this related to #257?
Not sure, it should be just kizitonwose/Calendar’s misconfiguration. While #257 is a bug on BCV side
rootProject.name
is not necessary for every project, it's possible to cause this issue when we miss that.
It's recommended to set rootProject.name
as a name inferred from a directory name could be unstable (and the CI issue from the issue's summary is one example how lack of stability shows itself).
Should we note this point in README?
The failed tests from https://github.com/Kotlin/binary-compatibility-validator/pull/262#issuecomment-2247592185, they ref to the settings.gradle.kts
already declare rootProject
. See
Should we note this point in README?
Yes, it definitely won't harm.
I'm facing same issue, and even adding rootProject.name
didn't help. Can it be because my project's name and inner module's name is same?
* What went wrong:
Execution failed for task ':inspektor:jvmApiCheck'.
> API check failed for project inspektor.
--- /Users/runner/work/inspektor/inspektor/inspektor/api/jvm/inspektor.api
+++ /Users/runner/work/inspektor/inspektor/inspektor/build/api/jvm/inspektor.api
Failing Run: https://github.com/ShreyashKore/inspektor/actions/runs/11087059708/job/30805337163 Project: https://github.com/ShreyashKore/inspektor
Enable KLib ABI validation with the version
0.16.2
and dump KLib ABIs,apiCheck
works on my local device but CI:You can repro this issue at https://github.com/kizitonwose/Calendar/pull/566.