Skip to content

ci: add PR-only native desktop client CI builds#23294

Open
yangyangdaji wants to merge 1 commit intoruffle-rs:masterfrom
yangyangdaji:ci
Open

ci: add PR-only native desktop client CI builds#23294
yangyangdaji wants to merge 1 commit intoruffle-rs:masterfrom
yangyangdaji:ci

Conversation

@yangyangdaji
Copy link
Copy Markdown

@yangyangdaji yangyangdaji commented Mar 20, 2026

I've set up CI builds for the native desktop client and generated the corresponding binaries. Web and Windows MSI packages were excluded, as configuration file issues broke their builds and I couldn't fix them. I've disabled the problematic feature, so
the current script meets our needs. When uploading macOS files, a "file not found" warning appears, despite the file being confirmed in the target directory and the
example https://github.com/yangyangdaji/ruffle/actions/runs/23324405071

final build containing the correct file.
The build also produces nested compressed archives (compressed files nested inside one another).

Image

Close #23269

@yangyangdaji
Copy link
Copy Markdown
Author

The build also produces nested compressed archives (compressed files nested inside one another).

@danielhjacobs danielhjacobs added A-build Area: Build scripts & CI T-feature Type: New Feature (that Flash doesn't have) labels Mar 20, 2026
@kjarosh
Copy link
Copy Markdown
Member

kjarosh commented Mar 20, 2026

Looks like it duplicates our release process? Two separate but identical workflows induce high maintenance burden, and our workflows are too complicated already... I would personally suggest to reuse the release workflow.

@yangyangdaji
Copy link
Copy Markdown
Author

yangyangdaji commented Mar 20, 2026

Looks like it duplicates our release process? Two separate but identical workflows induce high maintenance burden, and our workflows are too complicated already... I would personally suggest to reuse the release workflow.

Yes, this file is based on the release process. I have indeed considered the points you raised, yet my knowledge of CI is only rudimentary. I attempted to make changes to the release_nightly.yml file, but my modifications rendered the file inoperable due to my limited familiarity with YAML syntax. For this reason, I had to rewrite the file entirely from scratch following the provided example, which is the root cause of the imperfections in this feature.

@yangyangdaji
Copy link
Copy Markdown
Author

Looks like it duplicates our release process? Two separate but identical workflows induce high maintenance burden, and our workflows are too complicated already... I would personally suggest to reuse the release workflow.

I found some stable workflows here: https://github.com/ocaml-multicore/multicoretests/tree/main/.github/workflows ; in these workflows, repetitive logic has been broken down and grouped into dedicated files,The correct solution is to split release_nightly.yml and isolate the compilation steps to reduce maintenance work, since most of the code is shared between releases and PR pipelines.,I tried to split it, but failed due to a lack of relevant documentation.If you have any suggestions, please feel free to offer them; you are also welcome to take over and process this PR directly as needed

I've set up CI builds for the native desktop client and generated the corresponding binaries. Web and Windows MSI packages were excluded, as configuration file issues broke their builds and I couldn't fix them. I've disabled the problematic feature, so
 the current script meets our needs. When uploading macOS files, a "file not found" warning appears, despite the file being confirmed in the target directory and the final build containing the correct file.

example https://github.com/yangyangdaji/ruffle/actions/runs/23324405071

Signed-off-by: yangyangdaji <1504305527@qq.com>
@kjarosh
Copy link
Copy Markdown
Member

kjarosh commented Apr 4, 2026

I found some stable workflows here: https://github.com/ocaml-multicore/multicoretests/tree/main/.github/workflows

I think this is the right approach for us if we decide to go in this direction. We'd need to create a separate release workflow and call it from both nightly release and PR workflows. I'm not sure how it would look in the PR and if nightly release would even work with it. It looks like a major refactor.

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

Labels

A-build Area: Build scripts & CI T-feature Type: New Feature (that Flash doesn't have)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide the binary file in the CI of the PR for testing

3 participants