Initial release of release tools #41
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These are proposed tools to change the release process for SMF 3.0.
Building with this tool does not generate the same hashes as the tools currently used to build SMF releases. Those tools use the GNU zip/tar executables. This script is using PHP Phar, and it appears to do something different in the generation of the archives, which I can't see why it is different.
I verified the SHA256 of the files inside matched via:
I yielded no results after a few corrections. I think we may end up having to accept that we won't be able to generate binary identical setups unless we really want to dive into the archiving process for phar.
This also includes a tool to build the patch file. I kept in mind that 3.0 will be able to use a diff file and build that. But also built in the support to convert the diff into an XML file, so we can use this tool on 2.1 if we wish.
The final tool is one to build language packs. The language tool does require the Crowdin API to work. For testing, you can generate a personal access token on Crowdin. I generated mine with read-only only to everything except translations, I had to grant it read/write to trigger a build.
I tried to ensure this tool will cross build, but it will exist in both the 3.0 and 2.1 branches for future simplicity.