Skip to content

Add official aarch64 release builds to deploy workflow#463

Open
permafrost06 wants to merge 4 commits intoOpenBangla:developfrom
permafrost06:develop
Open

Add official aarch64 release builds to deploy workflow#463
permafrost06 wants to merge 4 commits intoOpenBangla:developfrom
permafrost06:develop

Conversation

@permafrost06
Copy link
Copy Markdown

@permafrost06 permafrost06 commented May 1, 2026

This adds official aarch64 release builds to the deploy workflow so ARM64 users can download prebuilt artifacts instead of building from source.
I've split x86_64 and aarch64 into separate jobs.
I also had to add two commits to fix issues: one for broken package filenames caused by CPACK_PACKAGE_FILE_NAME being set before CPACK_PACKAGE_NAME, and one for a Qt 5.15+ API used on older Qt versions in CI. I am not very experienced in this area, so please review those two fixes. Please also provide feedback on if the code fits the style of this codebase (e.g. using macros to determine qt version).
The built packages can be seen here in a workflow run.

EDIT: I've only tested the fedora 41 package on Fedora Asahi Remix (Apple M1)

Fixes #461
Fixes #408

The package filename was being set before CPACK_PACKAGE_NAME was defined,
resulting in packages named for example '_3.0.0-distro.rpm' instead of
'ibus-openbangla_3.0.0-distro.rpm'.
QWindow::startSystemMove() was added in Qt 5.15, but Ubuntu 20.04 ships
with Qt 5.12. Use preprocessor check to conditionally compile this code.
Copy link
Copy Markdown
Member

@mominul mominul left a comment

Choose a reason for hiding this comment

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

Thanks! Let's deduplicate the platform code.

Comment thread .github/workflows/deploy.yml Outdated
Copy link
Copy Markdown
Member

@mominul mominul left a comment

Choose a reason for hiding this comment

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

Thanks!

Comment thread src/frontend/TopBar.cpp
ui->buttonIcon->setCursor(Qt::ArrowCursor);
} else if(this->windowHandle()->startSystemMove()){
}
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We now hard depend on Qt 5.15, so lets remove this check and remove the builders that don't have 5.15

runs-on: ${{ matrix.platform }}
container:
image: ${{ matrix.container }}
image: ${{ matrix.platform == 'ubuntu-24.04-arm' && format('arm64v8/{0}', matrix.container) || matrix.container }}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why do we need to specify arm64v8 explicitly? Isn't it the default that if the host platform is arm64 the docker images will be automatically arm64 based?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants