Commit Graph

59 Commits

Author SHA1 Message Date
Benoit Marty 5b09fdf13f Replace git flow with regular git commands in the release script V2
The script was relying on the external git-flow tool and on a local
`git config gitflow.*` initialisation, which made its behaviour depend on
the machine setup and hid what was actually done to the branches.

The release branch is now created with `git checkout -b`, and the release
is finished with explicit merge, tag, back-merge and branch deletion
commands. The merge and tag messages are provided explicitly so that the
generated history stays identical to the previous releases. Each step now
aborts the script with a clear message when it fails, instead of letting
the script continue.

Note that tools/release/release.sh (V1) still uses git flow.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-11 16:57:01 +02:00
Jorge Martin Espinosa 27e161605f Allow retrying finding the release assets in release script (#7619) 2026-09-01 16:59:56 +02:00
Benoit Marty f97d207b16 [release] Check that there is no unmerged PR with the label "Z-NextRelease", else exit 2026-08-31 09:51:03 +02:00
Benoit Marty 8645260d46 Do not open the editor when finishing the release
`git flow release finish` opened the editor three times, and the content was
never edited: twice for the merge commits, where the message generated by git is
always kept, and once for the message of the annotated tag, where a placeholder
was typed by hand. The last tags carry the message "tag" for that reason.

GIT_MERGE_AUTOEDIT=no keeps the merge messages git already generates, and -m
provides the tag message. git flow appends the tag name to that message, so the
tag of the next release will read "Release v26.09.0".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 14:58:39 +02:00
Benoit Marty c5f70de904 Add releaseV2.sh, a release script automating the GitHub release
releaseV2.sh is a copy of release.sh in which the GitHub CLI is mandatory and
does what was previously done by hand: it finds and waits for the release.yml
run, downloads and extracts its artifacts, creates the pre-release with its 6
assets and the generated release notes, and prepends those notes to CHANGES.md.
It also compares the version code and version name of the signed artifacts to
the expected values instead of asking the user to check them, and no longer
needs ELEMENT_GITHUB_TOKEN, since the CLI uses its own credentials. release.sh
is left untouched, so that the next release can be done with releaseV2.sh while
keeping a way back if something goes wrong. The installation documentation is
also fixed, as it referred to an asset name that does not exist anymore.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 22:15:54 +02:00
hayaksi1 999bee2420 Remove the F-Droid dex patching step from the release script
fix-pg-map-id.py rewrites the pg_map_id of a dex file, but the dex
format changed and its regex no longer matches anything, so the step is
a no-op and the F-Droid build is reproducible without it. inplace-fix.py
only existed to drive it; none of its other commands are used here.

The removed call also re-ran zipalign -P 16 on each APK. AGP aligns the
release APKs at packaging time and apksigner is already invoked with
--alignment-preserved, so the signed output stays 16 KB aligned.
2026-08-17 03:40:53 +03:00
Benoit Marty ebc16bb3e1 Update version in ./tools/manifest/gplay/release/aaptDump.txt during the release. 2026-07-08 14:39:04 +02:00
Jorge Martin Espinosa 326aacf353 Add use existing branch confirmation and progress for file download (#6294)
* Add `use existing branch for release` confirmation. Otherwise, this message might go unnoticed and we might build the wrong binaries

* Display the progress of downloaded artifacts so we can be sure the process is working
2026-03-06 14:45:47 +01:00
Benoit Marty eff3aae948 Fix typo 2026-02-06 16:32:59 +01:00
Benoit Marty 7268aff90f [Release script] Ensure that the release version will match the next Monday date. 2026-02-06 14:38:18 +01:00
Benoit Marty eb31505dc7 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty f86431e663 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty db1672b813 Adding fastlane file for version 25.09.2 2025-09-24 14:35:33 +02:00
Benoit Marty 94f098d517 Release script: read the build tool version from Versions.kt 2025-09-10 11:33:38 +02:00
Benoit Marty 976beff1de Build release with build tools from SDK 36 and add a not to not forget last time we update the value of COMPILE_SDK 2025-08-14 14:31:22 +02:00
Benoit Marty 0570fb1c0e Fix shellcheck issue on release.sh 2025-06-30 17:00:58 +02:00
Benoit Marty 3ff8592785 Release script: read minSdkVersion from file plugins/src/main/kotlin/Versions.kt 2025-06-30 17:00:56 +02:00
Benoit Marty e5aecbbf8d CalVer: use 2 digits for the year and 2 digits for the month. 2025-01-23 18:29:19 +01:00
Benoit Marty 90af825621 Migrate to CalVer-like versioning - update release script. 2025-01-23 11:30:27 +01:00
Benoit Marty 97f3be3dc5 Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
Benoit Marty 8d81b364f5 Change default value of doBuildApks to "no" 2024-10-25 14:54:23 +02:00
Benoit Marty 5b06680fd1 Give a chance for download_all_github_artifacts.py to fail and to try again, without breaking the release script.
Previously any error in download_all_github_artifacts.py was ignored and the script was continuing (without success ofc).
2024-10-25 14:53:22 +02:00
Benoit Marty 4690cd80e1 Small update of the release script wording. 2024-09-10 10:35:06 +02:00
Benoit Marty 1b7b39f97f Migrate license to AGPL - other files. 2024-09-06 17:55:16 +02:00
Benoit Marty 7b057faf1d Add a local copy of inplace-fix.py and fix-pg-map-id.py from latest release https://github.com/obfusk/reproducible-apk-tools/blob/v0.2.7 2024-07-09 10:09:59 +02:00
Benoit Marty a8dcd52db0 Add --alignment-preserved true when signing APK for F-Droid. Closes #3151 2024-07-08 18:21:03 +02:00
Benoit Marty 49c3b16f16 Release note for nightly: remove title so that it can be used for Enterprise nightly without confusing the user. 2024-07-02 16:48:58 +02:00
Benoit Marty ed00ed4811 Merge pull request #3106 from element-hq/feature/bma/fixRelease
Fix F-Droid reproducible build.
2024-06-27 15:23:35 +02:00
Benoit Marty c9c66ba9d3 Fix download path. 2024-06-27 14:56:52 +02:00
Benoit Marty cedbaadf8c inplace-fix.py also needs fix-pg-map-id.py to do the requested work. 2024-06-27 14:18:47 +02:00
Benoit Marty 09afedd433 Remove towncrier: iterate on release script. 2024-06-27 12:24:22 +02:00
Benoit Marty a565a0396f Remove towncrier invocation when building nightly. 2024-06-27 11:52:38 +02:00
Benoit Marty f4a5ef8233 Use curl instead of wget. 2024-06-24 17:54:26 +02:00
Benoit Marty fbdc5cc145 Make sure F-Droid build are reproducible by patching the value of pg-map-id #3061 2024-06-24 17:46:19 +02:00
Benoit Marty 1cffa3d1fe Min SDK is now 24 2024-06-24 17:34:58 +02:00
Benoit Marty 2bf80fb0cc Use BuildTools 35.0.0 2024-06-24 17:31:47 +02:00
Benoit Marty 9be8ab7f38 Fix error 2024-06-11 15:39:05 +02:00
Benoit Marty 31cfae0578 Run shellcheck autofix. 2024-06-11 15:27:02 +02:00
Benoit Marty 31fcfe3ffe Fix issue in script 2024-05-23 17:24:18 +02:00
Benoit Marty 10e58b820a Increment versionPatch by only 1 on EXA. 2024-05-23 16:51:40 +02:00
Benoit Marty 6a038abbe7 Do not build locally before the release. 2024-05-23 16:51:40 +02:00
Benoit Marty 1e3455820e Provide the action url instead of the artifact url. 2024-05-23 16:51:39 +02:00
Benoit Marty 1e73a27294 Remove changelogUrlEncoded, it does not work as expected, and somtimes the link is too long. 2024-05-23 16:51:38 +02:00
Benoit Marty 470d6d0385 Update release script for fdroid release. 2024-05-23 16:51:38 +02:00
Benoit Marty de395ba2e1 Update message sent to the room. 2024-01-31 11:09:16 +01:00
Benoit Marty 275e03c92b Release script: Add a step to create the release on GooglePlay. 2024-01-31 11:07:29 +01:00
Benoit Marty 10b6085bf8 Release script: fix issue in filename (we have a gplay variant now) 2024-01-31 10:57:14 +01:00
Benoit Marty db6b52f8bf Update gradle tasks and paths regarding the new gplay and fdroid flavor. 2024-01-11 21:42:04 +01:00
Benoit Marty 75d6eaf8f3 Organization renaming: replace all https://github.com/vector-im by https://github.com/element-hq 2023-12-13 09:40:07 +01:00
Benoit Marty 614e8fcff9 Release script: improve prompt messages. 2023-08-29 11:19:32 +02:00