diff --git a/bin/publish-latest-branch-build.php b/bin/publish-latest-branch-build.php index 80784d9..f98022c 100755 --- a/bin/publish-latest-branch-build.php +++ b/bin/publish-latest-branch-build.php @@ -1,319 +1,320 @@ #!/usr/bin/env php getABI()) { $phorge_apk_lines[] = sprintf( "APK for **%s**: %s", $generated_apk->getABI(), $generated_apk->getPhorgeDownloadLink() ); // TODO: understand why Telegram does not render as bold text lol. $telegram_apk_lines[] = sprintf( "APK for **%s**", TelegramStupidSDK::escapeMarkdownV2($generated_apk->getABI()) ); } foreach ($generated_apk->getTelegramCommentLines() as $apk_line) { $telegram_apk_lines[] = $apk_line; } $telegram_apk_lines[] = ""; foreach ($generated_apk->getPhorgeCommentLines() as $apk_line) { $phorge_apk_lines[] = $apk_line; $phorge_apk_lines[] = ""; } } $telegram_apk_lines_str = implode("\n", $telegram_apk_lines); $phorge_apk_lines_str = implode("\n", $phorge_apk_lines); $phorge_api = new ConduitClient($PHORGE_API_URL); $phorge_api->setConduitToken($PHORGE_API_TOKEN); // add a comment to the build URL if (!empty($phorge_document_id) && empty(getenv('NO_COMMENT'))) { // We have a Differentials revision under review! $telegram_chat_content = implode("\n", [ // In Telegram, normal text must be escaped. Link destinations must not be escaped. TelegramStupidSDK::escapeMarkdownV2("⚙ Dear Android hackers, please review this promising patch:"), TelegramStupidSDK::escapeMarkdownV2("https://gitpull.it/$phorge_document_id"), "", TelegramStupidSDK::escapeMarkdownV2("Here the related fresh test builds:"), "", // The texts in these links are already escaped. $telegram_apk_lines_str, ]); // Send message to Telegram groups. echo "DEBUG TELEGRAM CONTENT\n"; echo "$telegram_chat_content\n"; // Send message to your default Telegram group. // See the TELEGRAM_* environment variables. (new TelegramStupidSDK())->sendMessage($telegram_chat_content); // Publish comment on Phorge too. $phorge_chat_content = implode("\n", [ "Bip bop I'm a bot. Here fresh Android builds {icon cog spin}", "", $phorge_apk_lines_str, ]); $differential_args = [ 'objectIdentifier' => $phorge_document_id, 'transactions' => [ [ 'type' => 'comment', 'value' => $phorge_chat_content, ], ], ]; $phorge_result = $phorge_api->callMethodSynchronous('differential.revision.edit', $differential_args); } elseif (empty(getenv('NO_COMMENT'))) { // We have NOT a Differentials revision under review! // So this is an atomic commit. + // Escape everything since Telegram markdown is nonsense lol. $telegram_chat_content = implode("\n", [ - "🌚 New commit: *$git_commit_title*", - "https://gitpull.it/R4:$git_commit", + TelegramStupidSDK::escapeMarkdownV2("🌚 New commit: *$git_commit_title*"), + TelegramStupidSDK::escapeMarkdownV2("https://gitpull.it/R4:$git_commit"), "", - "Here the related fresh test builds:", + TelegramStupidSDK::escapeMarkdownV2("Here the related fresh test builds:"), "", - $telegram_apk_lines_str, + $telegram_apk_lines_str, // This is already Telegram-escaped. ]); echo "DEBUG TELEGRAM CONTENT\n"; echo "$telegram_chat_content\n"; // Send message to your default Telegram group. // See the TELEGRAM_* environment variables. (new TelegramStupidSDK())->sendMessage($telegram_chat_content); // Publish comment on Phorge too. On the commit page? Uhm. To be tested. // $phorge_chat_content = implode("\n", [ // "{icon gear spin} Bip bop I'm a bot. Here fresh Android builds:", // "", // // The texts in these links are already escaped. // $phorge_apk_lines_str, // ]); // $differential_args = [ // 'objectIdentifier' => $phorge_document_id, // 'transactions' => [ // [ // 'type' => 'comment', // 'value' => $phorge_chat_content, // ], // ], // ]; // $phorge_result = $phorge_api->callMethodSynchronous('diffusion.commit.edit', $differential_args); } // delete very old files print_log_info("Cleaning old artifacts"); shell_exec(sprintf( "find %s -type f -mtime +120 -delete", escapeshellarg($ARTIFACTS_PATH) )); print_log_info("Done");