Skip to content

CI: overhaul packaging workflow and mobile release options#677

Open
tyreseluo wants to merge 2 commits intoproject-robius:mainfrom
tyreseluo:update/robrix-release-ci
Open

CI: overhaul packaging workflow and mobile release options#677
tyreseluo wants to merge 2 commits intoproject-robius:mainfrom
tyreseluo:update/robrix-release-ci

Conversation

@tyreseluo
Copy link
Member

PR Content

Use makepad-packaging-action to streamline the current makepad release CI workflow for easier centralized management.

  • add per-platform inputs and build matrices
  • create release once and upload assets via releaseId
  • add Android/iOS packaging with TestFlight envs

- add per-platform inputs and build matrices
- create release once and upload assets via releaseId
- add Android/iOS packaging with TestFlight envs
- set macOS signing_identity placeholder
@tyreseluo tyreseluo requested a review from kevinaboos January 28, 2026 09:13
@tyreseluo tyreseluo added the waiting-on-review This issue is waiting to be reviewed label Jan 28, 2026
Copy link
Member

@kevinaboos kevinaboos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Tyrese, I appreciate the overhaul of our packaging logic here.

I have one general concern: the code in release.yml is now a lot harder to read (and most importantly, harder for myself and others to maintain) due to lots of custom actions and python scripts interspersed throughout it. When I glance at the code, I cannot clearly understand what it's doing any more.

The older code was quite a bit easier to understand. Similarly, moly-ai's release.yml file is also easy to read — is there any reason why we wouldn't just copy that?

I'm a bit wary of bringing in a dependency on your new makepad-packaging-action since we (the project-robius org) do not have control over that nor the ability to modify it. If you insist on using that, I'd have to do a full audit of that as well. If you'd like to transfer it to the main project-robius org, that would make it easier for us to rely on it (of course you can maintain full ownership rights of it).

Comment on lines +47 to +48
build_android:
description: 'Build Android APK'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i assume this is Android on aarch64? (Android can also run on x86_64, so please be specific here)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

import os
from pathlib import Path
def truthy(value: str) -> bool:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

truthy is a confusing name, do you mean something like "is_true"?

@kevinaboos kevinaboos added waiting-on-author This issue is waiting on the original author for a response and removed waiting-on-review This issue is waiting to be reviewed labels Feb 5, 2026
@tyreseluo
Copy link
Member Author

My ideal is to extract certain frequently rewritten packaging functions and processes for consolidated maintenance. Under normal circumstances, this should streamline the packaging workflow.

This including GitHub Releases, iOS and macOS signing, and publish uploads to TestFlight.

I shall proceed to modify another version accordingly.

I'm a bit wary of bringing in a dependency on your new makepad-packaging-action since we (the project-robius org) do not have control over that nor the ability to modify it. If you insist on using that, I'd have to do a full audit of that as well. If you'd like to transfer it to the main project-robius org, that would make it easier for us to rely on it (of course you can maintain full ownership rights of it).

yep, i can transfer it to the main project-robius org.

@tyreseluo
Copy link
Member Author

I have in fact consulted moly-ai's release documentation, which currently supports only a limited number of platforms: Ubuntu 22.04, macOS 14, macOS 13, and Windows 2022. Given that Robrix requires support for multiple CPU architectures, the determine_matrices job employs Python to process the differing output results.

In fact the dora-studio https://github.com/dora-rs/dora-studio/blob/main/.github/workflows/package.yml is so simply when use the action.

In any case, the current Release CI for Robrix is indeed somewhat complex and redundant. I shall look into where further improvements and optimisations can be made.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting-on-author This issue is waiting on the original author for a response

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants