-
Notifications
You must be signed in to change notification settings - Fork 22
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
Adding composer.lock
under VCS ?
#153
Comments
@drupol While I hear what you are saying, this project is not a good match for your suggestion. Committing a Also note that while a lot of the projects you mention have a wide range of external dependencies - in which case you could have a valid point -, that is not the case for this project, which has none, so the PHAR file is already 100% reproducible at any given time. |
Thanks for your fast response. As of today, the PHAR file is not reproducible (running But OK, my goal here is not to make the PHAR reproducible, but make sure that anybody running Therefore, as a middle ground, would it be possible to reconsider? How about not committing the |
Anybody running Anybody running Also, it seems you only seem to know that you want to enforce some mythical idea which is counter-productive to the project, but don't actually seem to know why (you keep coming up with different reasons, none of them valid) So, again: No. |
I understand your concerns about maintaining flexibility across different PHP versions and ensuring that the project is accessible for various developmental explorations. It’s clear that you’ve given considerable thought to the best practices for your project's context, and I respect your perspective. However, I'd like to clarify that my suggestions were made with the best intentions for the project's long-term reliability and the community's ease of use in mind. While I recognize that including a Given the points you've raised, I wish to address the notion of reproducibility not as a "mythical" idea but as a foundational principle in software development, especially in open-source projects. Reproducibility ensures that anyone, at any point in time, can build the software from source and obtain an identical outcome, which is crucial for debugging, security audits, and long-term maintenance. It's a practice endorsed by numerous projects to enhance trust, security, and collaboration among developers. By ensuring that every contributor and user can replicate builds and dependencies with precision, we lay the groundwork for a more robust and secure software ecosystem. This principle supports not just the immediate needs of developers but also facilitates a stable environment for future contributions and integrations. Anyway, I'll be glad to discuss that matter lively with you! Cheers. |
The "mythical" was in reference to your believe that a I understand your point about reproducibility, but it's just not a valid point in this case. To repeat what I have already said before: this project does not have any runtime dependencies, so your point is null and void. Also, PHP is not a pre-compiled language, so compiling is not necessary. Anything else is searching for hypothetical problems which do not exist for this project. Either way, to me, this discussion is closed. |
Hi,
I'm writing to suggest an enhancement for this project, to improve its integration and ensure long-term reliability, particularly for package managers like apt, rpm, yum, nix, etc etc...
The primary goal here is to enable reproducibility of the exact build of the PHAR released, down to the last bit. This is crucial, especially when distributing it as a binary, for reasons of reliability and security.
To achieve this, I propose adding a
composer.lock
file to this repository. This file will ensure that the binary produced is reproducible on any system, regardless of environmental differences, by locking down specific versions of dependencies. Its absence currently hinders the ability to precisely replicate the builds you provide in your GitHub releases, introducing potential variability.For reference, here are some projects that have recognized the value of versioning the
composer.lock
file:composer.lock
file in the repository bobthecow/psysh#767composer.lock
file in the repository phpro/grumphp#1095composer.lock
in VCS ? vimeo/psalm#10446If there are concerns about including the
composer.lock
file in the main repository, could it be an option to add it to the release artefacts GitHub instead? This compromise would still greatly benefit reproducibility and consistency in dependency management.Thank you for considering this enhancement. I look forward to your response.
The text was updated successfully, but these errors were encountered: