replace build_bench_env.sh with a Makefile#243
Conversation
|
one ToDo I forgot in notes: tar can exclude files from extraction. The current shell-script does delete a few folders in a few repositories - we could modify the tar call to not extract them in the first place. |
1f4928c to
ffbdf87
Compare
|
the remaining CI failures are not specific to the Makefile but actual problems, so marking this ready. |
There was a problem hiding this comment.
Pull Request Overview
This PR replaces the build_bench_env.sh script with a Makefile-based build system to improve consistency and maintainability. The change switches from git cloning to downloading versioned archives from GitHub and centralizes version management.
Key changes:
- Replace shell script with comprehensive Makefile for building allocators and benchmarks
- Introduce VERSIONS file to centralize version management across all components
- Move package installation documentation from script to README with per-distribution instructions
Reviewed Changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| build-bench-env.sh | Add python-six dependency for ArchLinux package installation |
| bench.sh | Update library paths and remove hardcoded version variables |
| VERSIONS | New file defining versions and sources for all allocators and benchmarks |
| README.md | Replace build script documentation with Makefile usage and detailed dependency lists |
| Makefile | New comprehensive build system with targets for all allocators and benchmarks |
| Dockerfile | Update to use Makefile instead of build script and add package installations |
| .github/workflows/all.yml | Remove Fedora exclusion from CI matrix |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
mjp41
left a comment
There was a problem hiding this comment.
This is looking pretty tidy. Thanks for working on this.
mjp41
left a comment
There was a problem hiding this comment.
LGTM, thanks for the changes.
@jvoisin, @derSteFfi I don't want to hold these changes holding off on fixing issues for individual allocators/platforms. But I really like to only have a Green CI. Thoughts?
|
Absolutely agree. I still have at least scudo and lp on my list and will re-check all comments here afterwards. With that fixed, I would also be pro-merging to make it easier to hunt individual bugs. The branch-switching sometimes takes time, and we would have a clear stand - fixing individual things is much easier than to always have to model the whole process. |
0266c64 to
2d0082e
Compare
|
@jvoisin the MR is up-to-date with master - what do you think about merging? |
|
~All the tests are failing :/ |
|
sorry, missed a reference to |
|
There are still a bunch of failures it seems |
|
these are the same we have on master, except that fedora is deactivated in the CI on master (don't remember why). alpine base container and ubuntu/tcg fail with master, too. |
|
Then it does look good to me. I'll let @daanx hit the merge button as it's his project :) |
the script tested for "../../build-bench-env.sh" to be present, which is now deleted. Check for "../../bench.sh" (this file) instead.
because redis has to be detected in a more complicated way, rework the output und remove superflouos sleeps while at it
because redis has to be detected in a more complicated way, rework the output und remove superflouos sleeps while at it
d0028ed to
90a3c8a
Compare
|
re-synced with master. Also added rmalloc and fixed sc. Would love to not have to resolve merge conflicts like these every few months... |
I can not reproduce them locally, but it is woth a shot in the CI
|
I missed a few bumps in the merge, should be synchronized now. |
pushing this draft as a starter to get your opinions - I'll be on vacation the next weeks and won't be working on it anyway. There are a few open tasks, but the general vibe should already come across. Feedback very welcome.
Decisions made:
TODO
put archives in extra storage after versionizing them (see here)docker caches these alreadyopen Questions: