[GH-ISSUE #359] [CI] Speed up CI using GitHub build matrix #169

Closed
opened 2026-03-23 20:33:13 +00:00 by mirror · 9 comments
Owner

Originally created by @annieappflowy on GitHub (Feb 20, 2022).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/359

Originally assigned to: @rubiagatra on GitHub.

Speed up CI using GitHub build matrix

Originally created by @annieappflowy on GitHub (Feb 20, 2022). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/359 Originally assigned to: @rubiagatra on GitHub. Speed up CI using GitHub [build matrix](https://docs.github.com/en/actions/using-workflows/advanced-workflow-features#using-a-build-matrix)
mirror 2026-03-23 20:33:13 +00:00
Author
Owner

@rubiagatra commented on GitHub (Mar 28, 2022):

I will give a try

<!-- gh-comment-id:1080640428 --> @rubiagatra commented on GitHub (Mar 28, 2022): I will give a try
Author
Owner

@annieappflowy commented on GitHub (Mar 29, 2022):

I will give a try

Awesome. I have assigned it to you. If you need help, please reach out to @tsuiyuenhong on Discord.

<!-- gh-comment-id:1081343899 --> @annieappflowy commented on GitHub (Mar 29, 2022): > I will give a try Awesome. I have assigned it to you. If you need help, please reach out to @tsuiyuenhong on Discord.
Author
Owner

@rubiagatra commented on GitHub (Mar 30, 2022):

Could you give me some context @annieappflowy which GitHub actions do you need to use the GitHub matrix?

.github/workflows
├── ci.yaml
├── commit_lint.yml
├── dart_lint.yml
├── dart_test.yml
├── release.yml
├── release_docker.yml
├── rust_lint.yml
├── rust_test.yml
└── translation_notify.yml

And what kind of matrix? Rust version? flutter version? or CPU architecture matrix?

<!-- gh-comment-id:1082655177 --> @rubiagatra commented on GitHub (Mar 30, 2022): Could you give me some context @annieappflowy which GitHub actions do you need to use the GitHub matrix? ``` .github/workflows ├── ci.yaml ├── commit_lint.yml ├── dart_lint.yml ├── dart_test.yml ├── release.yml ├── release_docker.yml ├── rust_lint.yml ├── rust_test.yml └── translation_notify.yml ``` And what kind of matrix? Rust version? flutter version? or CPU architecture matrix?
Author
Owner

@LucasXu0 commented on GitHub (Mar 31, 2022):

Could you give me some context @annieappflowy which GitHub actions do you need to use the GitHub matrix?

.github/workflows
├── ci.yaml
├── commit_lint.yml
├── dart_lint.yml
├── dart_test.yml
├── release.yml
├── release_docker.yml
├── rust_lint.yml
├── rust_test.yml
└── translation_notify.yml

And what kind of matrix? Rust version? flutter version? or CPU architecture matrix?

Hi, rubiagatra. I thought the title [CI] Speed up CI using GitHub build matrix is a little bit puzzling. In the first part, we want to manage the build scripts by matrix, like platforms. And as the second part, we want to reduce the cost time of some scripts, like ci.yaml, dart_test.yaml, and rust_test.yaml. But now I still have no idea how to optimize them. Would you mind doing some research and we keep discussing it after that?

<!-- gh-comment-id:1084654005 --> @LucasXu0 commented on GitHub (Mar 31, 2022): > Could you give me some context @annieappflowy which GitHub actions do you need to use the GitHub matrix? > > ``` > .github/workflows > ├── ci.yaml > ├── commit_lint.yml > ├── dart_lint.yml > ├── dart_test.yml > ├── release.yml > ├── release_docker.yml > ├── rust_lint.yml > ├── rust_test.yml > └── translation_notify.yml > ``` > > And what kind of matrix? Rust version? flutter version? or CPU architecture matrix? Hi, rubiagatra. I thought the title `[CI] Speed up CI using GitHub build matrix` is a little bit puzzling. In the first part, we want to manage the build scripts by matrix, like platforms. And as the second part, we want to reduce the cost time of some scripts, like `ci.yaml`, `dart_test.yaml`, and `rust_test.yaml`. But now I still have no idea how to optimize them. Would you mind doing some research and we keep discussing it after that?
Author
Owner

@rubiagatra commented on GitHub (Apr 1, 2022):

Ahh Thank you @tsuiyuenhong, I think its little bit more clear.
Sure I'll explore something this weekend, Maybe on Monday I'll let you know

<!-- gh-comment-id:1085878786 --> @rubiagatra commented on GitHub (Apr 1, 2022): Ahh Thank you @tsuiyuenhong, I think its little bit more clear. Sure I'll explore something this weekend, Maybe on Monday I'll let you know
Author
Owner

@annieappflowy commented on GitHub (Jul 18, 2022):

Hi @rubiagatra, any update on this?

<!-- gh-comment-id:1187134237 --> @annieappflowy commented on GitHub (Jul 18, 2022): Hi @rubiagatra, any update on this?
Author
Owner

@rubiagatra commented on GitHub (Jul 23, 2022):

I have been a little bit busy in the past 3 months, I'll check this on Sunday. If anyone wants to take a stab at it, go ahead!

<!-- gh-comment-id:1193123525 --> @rubiagatra commented on GitHub (Jul 23, 2022): I have been a little bit busy in the past 3 months, I'll check this on Sunday. If anyone wants to take a stab at it, go ahead!
Author
Owner

@rubiagatra commented on GitHub (Jul 24, 2022):

I think for build matrix is already done yeah @annieappflowy @LucasXu0? or do you want windows support too?

    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
        include:
          - os: ubuntu-latest
            flutter_profile: development-linux-x86_64
          - os: macos-latest
            flutter_profile: development-mac-x86_64
    runs-on: ${{ matrix.os }}

To make it faster for cargo build, I think we need to disable incremental build. https://matklad.github.io/2021/09/04/fast-rust-builds.html

Open #703

<!-- gh-comment-id:1193414814 --> @rubiagatra commented on GitHub (Jul 24, 2022): I think for `build` matrix is already done yeah @annieappflowy @LucasXu0? or do you want windows support too? ``` strategy: matrix: os: [ubuntu-latest, macos-latest] include: - os: ubuntu-latest flutter_profile: development-linux-x86_64 - os: macos-latest flutter_profile: development-mac-x86_64 runs-on: ${{ matrix.os }} ``` To make it faster for cargo build, I think we need to disable incremental build. https://matklad.github.io/2021/09/04/fast-rust-builds.html Open #703
Author
Owner

@annieappflowy commented on GitHub (Aug 26, 2022):

Thanks a lot for offering the help @rubiagatra
There is another github.com/AppFlowy-IO/AppFlowy@2fddbce18c
that solved the issue together with yours.

<!-- gh-comment-id:1228477770 --> @annieappflowy commented on GitHub (Aug 26, 2022): Thanks a lot for offering the help @rubiagatra There is another https://github.com/AppFlowy-IO/AppFlowy/commit/2fddbce18cd222980034b3de4b181906980e168c that solved the issue together with yours.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#169
No description provided.