WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit cbe4002

Browse files
committed
More fixes to the release script
1 parent 8a284d4 commit cbe4002

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

scripts/release.py

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import re
66
import requests
77
import subprocess
8+
import time
89
from enum import Enum, auto
910

1011

@@ -119,6 +120,7 @@ def commit_and_push_changes(directory: str, message: str):
119120

120121

121122
def upload_asset_to_github_release(upload_url: str, asset_path: str, asset_name: str):
123+
print(f"Uploading {asset_name} to github release..")
122124
# Build headers with token and content type
123125
headers = {
124126
"Authorization": f"token {github_token}",
@@ -176,42 +178,37 @@ def create_github_release(repo_url: str, tag_name: str, release_name: str, relea
176178

177179
def get_asset_name(module: Module) -> str:
178180
if module == Module.SDK:
179-
return "sdk-android-release.aar"
181+
return "matrix-android-sdk.aar"
180182
elif module == Module.CRYPTO:
181-
return "crypto-android-release.aar"
183+
return "matrix-android-crypto.aar"
182184
else:
183185
raise ValueError(f"Unknown module: {module}")
184186

185187

186188
def get_asset_path(root_project_dir: str, module: Module) -> str:
187189
if module == Module.SDK:
188190
return os.path.join(root_project_dir, "sdk/sdk-android/build/outputs/aar",
189-
get_asset_name(module))
191+
"sdk-android-release.aar")
190192
elif module == Module.CRYPTO:
191193
return os.path.join(root_project_dir, "crypto/crypto-android/build/outputs/aar",
192-
get_asset_name(module))
194+
"crypto-android-release.aar")
193195
else:
194196
raise ValueError(f"Unknown module: {module}")
195197

196-
def get_gradle_module_dir(module: Module, root_project_dir: str) -> str:
198+
199+
def get_publish_task(module: Module) -> str:
197200
if module == Module.SDK:
198-
return os.path.join(root_project_dir, "sdk")
201+
return ":sdk:sdk-android:publishToSonatype"
199202
elif module == Module.CRYPTO:
200-
return os.path.join(root_project_dir, "crypto")
203+
return ":crypto:crypto-android:publishToSonatype"
201204
else:
202205
raise ValueError(f"Unknown module: {module}")
203206

204-
def run_gradle_task(module_dir: str, task_name: str):
205-
# Build Gradle command
206-
gradle_command = f"cd {module_dir} && ./gradlew {task_name}"
207-
208-
# Run Gradle command
209-
result = subprocess.run(gradle_command, shell=True)
210-
if result.returncode == 0:
211-
print(f"Gradle task '{task_name}' completed successfully.")
212-
else:
213-
print(f"Failed to run Gradle task '{task_name}'.")
214-
207+
def run_publish_close_and_release_tasks(root_project_dir, publish_task: str):
208+
gradle_command = f"./gradlew {publish_task} closeAndReleaseStagingRepository"
209+
result = subprocess.run(gradle_command, shell=True, cwd=root_project_dir, text=True)
210+
if result.returncode != 0:
211+
raise Exception(f"Gradle tasks failed with return code {result.returncode}")
215212

216213
github_token = os.environ['GITHUB_API_TOKEN']
217214

@@ -254,12 +251,14 @@ def run_gradle_task(module_dir: str, task_name: str):
254251
commit_and_push_changes(project_root, commit_message)
255252

256253
release_name = f"{args.module.name.lower()}-v{args.version}"
257-
release_notes = f"{release_name} using matrix-rust-sdk {sdk_commit_hash}"
254+
release_notes = f"https://github.com/matrix-org/matrix-rust-sdk/tree/{sdk_commit_hash}"
258255
asset_path = get_asset_path(project_root, args.module)
259256
asset_name = get_asset_name(args.module)
260257

261258
create_github_release("https://api.github.com/repos/matrix-org/matrix-rust-components-kotlin",
262259
release_name, release_name, release_notes)
263260

264-
run_gradle_task(get_gradle_module_dir(args.module, project_root), "publishReleasePublicationToSonatypeRepository")
265-
run_gradle_task(project_root, "closeAndReleaseSonatypeStagingRepository")
261+
run_publish_close_and_release_tasks(
262+
project_root,
263+
get_publish_task(args.module),
264+
)

0 commit comments

Comments
 (0)