Skip to content

ci: use setup-cpp to install the compilers#266

Open
aminya wants to merge 4 commits into
rollbear:mainfrom
aminya:setup-cpp
Open

ci: use setup-cpp to install the compilers#266
aminya wants to merge 4 commits into
rollbear:mainfrom
aminya:setup-cpp

Conversation

@aminya

@aminya aminya commented Dec 7, 2021

Copy link
Copy Markdown

@aminya aminya marked this pull request as ready for review December 7, 2021 08:22
@aminya aminya force-pushed the setup-cpp branch 2 times, most recently from 5b4e24e to f6fe788 Compare December 7, 2021 08:27
@aminya aminya marked this pull request as draft December 7, 2021 08:29
@aminya aminya force-pushed the setup-cpp branch 2 times, most recently from 6149ae9 to 14b8d44 Compare December 7, 2021 09:16
@aminya

This comment has been minimized.

@aminya aminya force-pushed the setup-cpp branch 3 times, most recently from b0f1211 to b34c634 Compare December 7, 2021 12:50
@aminya aminya marked this pull request as ready for review December 7, 2021 13:35
@rollbear

rollbear commented Dec 7, 2021

Copy link
Copy Markdown
Owner

Apologies for being a bit silent, but I will get back to you in a couple of days. I much appreciate the work you're doing. Thanks.

@codecov

codecov Bot commented Dec 7, 2021

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.77%. Comparing base (c9c0df9) to head (f083f90).
⚠️ Report is 247 commits behind head on main.

❗ There is a different number of reports uploaded between BASE (c9c0df9) and HEAD (f083f90). Click for more details.

HEAD has 43 uploads less than BASE
Flag BASE (c9c0df9) HEAD (f083f90)
104 61
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #266       +/-   ##
===========================================
- Coverage   97.75%   75.77%   -21.99%     
===========================================
  Files           1        1               
  Lines         890      875       -15     
===========================================
- Hits          870      663      -207     
- Misses         20      212      +192     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rollbear

rollbear commented Dec 7, 2021

Copy link
Copy Markdown
Owner

On the libc++ build/install-script. It's only there because not all versions have readily available downloads (as .deb packages.) If setup-cpp provides the right libc++ versions already, that step can be removed.

@aminya

aminya commented Dec 7, 2021

Copy link
Copy Markdown
Author

Apologies for being a bit silent, but I will get back to you in a couple of days. I much appreciate the work you're doing. Thanks.

You're welcome!

On the libc++ build/install-script. It's only there because not all versions have readily available downloads (as .deb packages.) If setup-cpp provides the right libc++ versions already, that step can be removed.

setup-cpp downloads the original llvm releases, which usually include the libcxx. It does not use apt for this. So, I think we can try removing it. If there is a separate installation step required for libcxx, we can add it to setup-cpp

@aminya

aminya commented Dec 7, 2021

Copy link
Copy Markdown
Author

The libcxx issue is fixed. It required using the correct LLVM_PATH and also passing the CPPFLAGS and LDFLAGS to cmake.

@aminya

This comment has been minimized.

@aminya

aminya commented Dec 7, 2021

Copy link
Copy Markdown
Author

Yay! Everything is fixed now. 🎉

@aminya

aminya commented Dec 10, 2021

Copy link
Copy Markdown
Author

The failures are due to missing coverage reports on some versions, which I think is unrelated to this PR. Right?

@rollbear

Copy link
Copy Markdown
Owner

I'm not so sure that it is unrelated to the PR. If you look at the "Collect Coverage" step for gcc 4.8, it says:

kcov: error while loading shared libraries: libopcodes-2.34-system.so: cannot open shared object file: No such file or directory

Why is that library missing here?

@aminya

aminya commented Dec 10, 2021

Copy link
Copy Markdown
Author

I updated kcov to v39 because it does not need to be built from the source this way. It might rely on some shared libraries that are missing in the old GCC installer. I need to try install missing packages and see if the issue is fixed.

@rollbear

Copy link
Copy Markdown
Owner

Sorry for not paying much attention, but the push to finish things before Christmas was a bit intense.

I've looked into the current state, and tried to figure out how to move forward, but I haven't been that successful.

All builds that use ubuntu-18.04 fail because kcov needs binutils-2.34, but the one installed is 2.30. I then tried to use ubuntu-20.04 also for the older compilers, but that failed for completely different reasons. Now C++ standard headers cannot be found, so it looks like libstdc++ and libc++ are not available, or in paths that the compiler cannot find. I had hoped to reach a state where it all builds, but perhaps with some missing functionality, but unfortunately I have failed.

@rollbear

Copy link
Copy Markdown
Owner

Of course, a different route forward, that may be easier, is to scrap kcov (it's not like I'm married to it) and use normal coverage builds instead. I have to read up on how to use it with the CI codecov-action, but I presume it's a normal enough use to be reasonably straight forward.

@aminya aminya closed this Sep 19, 2022
@aminya aminya reopened this Sep 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants