Skip to content

ci: add arm64 windows runner + MSYS2 clang + clangarm64 #230

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

Totto16
Copy link
Collaborator

@Totto16 Totto16 commented Jun 10, 2025

Windows ARM64 runner image is already available since April, see here.

Blocked by these things:

  • libpng not working with (atm only msvc) arm64 (see cmakelist and the wrap does the same (atm)), possibly related to the runner issue, as it maybe doesn't correctly define arm defines, that \include\arm_neon.h:21 expects
  • visual studio code (msvc) installation issue cl reports x64 as architecture, see also [windows-11-arm] Install native arm64 Visual Studio actions/partner-runner-images#86
  • the action TheMrMilchmann/setup-msvc-dev@v3 doesn't correctly support c64 atm, make Pr, it seems to work right now, but it might not work forever
  • the action Totto16/msys2-install-packages-pinned doesn't work with installing libc++
  • python-pip doesn't work on arm64 and msys2
  • spdlog needs to be patched, to detect clang msys2 correctly and define macros correctly

@Totto16 Totto16 added this to the 0.5.7 milestone Jun 10, 2025
@Totto16 Totto16 self-assigned this Jun 10, 2025
@Totto16 Totto16 added enhancement New feature or request ci Issues regarding Continous Intergation labels Jun 10, 2025
@Totto16 Totto16 force-pushed the windows_arm64_ci branch from 819c3f7 to 9cb41f3 Compare June 10, 2025 17:05
Copy link

github-actions bot commented Jun 10, 2025

badge

Code Coverage Summary

Filename                                                    Stmts    Miss  Cover    Missing
--------------------------------------------------------  -------  ------  -------  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
src/discord/core.cpp                                          136     136  0.00%    9-244
src/discord/core.hpp                                            7       7  0.00%    89-101
src/game/bag.cpp                                               22       0  100.00%
src/game/bag.hpp                                                2       0  100.00%
src/game/command_line_arguments.cpp                             5       5  0.00%    7-16
src/game/game.cpp                                              61      61  0.00%    9-110
src/game/game.hpp                                               0       0  100.00%
src/game/graphic_helpers.cpp                                   42      42  0.00%    12-94
src/game/grid.cpp                                              74      74  0.00%    6-113
src/game/grid.hpp                                               0       0  100.00%
src/game/rotation.cpp                                          23      23  0.00%    5-37
src/game/simulated_tetrion.cpp                                352     287  18.47%   32-125, 139-175, 181-349, 353, 375-376, 408-410, 424, 429-455, 463-541
src/game/simulated_tetrion.hpp                                  7       7  0.00%    137-143
src/game/simulation.cpp                                        52      27  48.08%   30-40, 61-62, 81-103
src/game/simulation.hpp                                         0       0  100.00%
src/game/tetrion.cpp                                           78      78  0.00%    15-148
src/game/tetromino.cpp                                         44      24  45.45%   5-36, 42-48
src/game/tetromino.hpp                                          5       0  100.00%
src/graphics/rect.hpp                                          23      23  0.00%    16-55
src/graphics/renderer.cpp                                      73      73  0.00%    8-126
src/graphics/renderer.hpp                                      30      30  0.00%    35-79
src/graphics/sdl_context.cpp                                   14      14  0.00%    19-54
src/graphics/text.cpp                                          11      11  0.00%    34-53
src/graphics/text.hpp                                           0       0  100.00%
src/graphics/texture.cpp                                       71      71  0.00%    7-118
src/graphics/texture.hpp                                        9       9  0.00%    52-62
src/graphics/window.cpp                                        41      41  0.00%    6-62
src/helper/clock_source.cpp                                    28      28  0.00%    8-47
src/helper/clock_source.hpp                                     7       7  0.00%    12-27
src/helper/git_helper.hpp                                       2       2  0.00%    7-11
src/helper/graphic_utils.cpp                                   40      40  0.00%    10-196
src/helper/graphic_utils.hpp                                    0       0  100.00%
src/helper/message_box.cpp                                      7       7  0.00%    7-22
src/helper/music_utils.hpp                                      4       4  0.00%    9-30
src/helper/nfd.cpp                                            108     108  0.00%    22-197
src/helper/nfd_include.hpp                                      1       1  0.00%    23
src/helper/platform.cpp                                        12      12  0.00%    21-115
src/helper/platform.hpp                                         4       4  0.00%    16-40
src/input/controller_input.cpp                                161     161  0.00%    12-323
src/input/controller_input.hpp                                 52      52  0.00%    58-167
src/input/game_input.cpp                                       72      71  1.39%    8-78, 82-110
src/input/game_input.hpp                                       12       7  41.67%   59-90, 97-99
src/input/guid.cpp                                             18      18  0.00%    10-41
src/input/guid.hpp                                             46      46  0.00%    34-143
src/input/input.cpp                                           200     200  0.00%    20-427
src/input/input_creator.cpp                                    73      73  0.00%    22-157
src/input/input_creator.hpp                                     6       0  100.00%
src/input/input.hpp                                             9       9  0.00%    132-146
src/input/joystick_input.cpp                                  205     205  0.00%    18-970
src/input/joystick_input.hpp                                   73      73  0.00%    35-448
src/input/keyboard_input.cpp                                  128     128  0.00%    8-220
src/input/keyboard_input.hpp                                   51      51  0.00%    47-161
src/input/mouse_input.cpp                                      36      36  0.00%    9-79
src/input/mouse_input.hpp                                       0       0  100.00%
src/input/replay_input.cpp                                     53      49  7.55%    14-97
src/input/replay_input.hpp                                      0       0  100.00%
src/input/touch_input.cpp                                     177     177  0.00%    13-351
src/input/touch_input.hpp                                      55      55  0.00%    65-218
src/libs/core/game/mino.cpp                                    10       6  40.00%   3-4, 15-20
src/libs/core/game/mino.hpp                                     3       0  100.00%
src/libs/core/game/mino_stack.cpp                              55      46  16.36%   7-17, 21, 29-30, 36-86
src/libs/core/game/mino_stack.hpp                               0       0  100.00%
src/libs/core/game/tetromino_type.cpp                          22      22  0.00%    5-45
src/libs/core/hash-library/sha256.cpp                         417      28  93.29%   471-474, 504, 515, 521, 530, 546, 551-566, 593-604
src/libs/core/helper/bool_wrapper.hpp                          11      11  0.00%    15-37
src/libs/core/helper/color.cpp                                 86      36  58.14%   11-31, 38-53, 61, 75, 145-157, 161-164
src/libs/core/helper/color.hpp                                 95      86  9.47%    29-59, 85-113, 156-263
src/libs/core/helper/color_literals.hpp                       320      30  90.62%   412, 582, 647-694, 708-711
src/libs/core/helper/const_utils.hpp                           17       1  94.12%   72
src/libs/core/helper/date.cpp                                  46      46  0.00%    9-114
src/libs/core/helper/errors.cpp                                29      29  0.00%    3-49
src/libs/core/helper/errors.hpp                                 0       0  100.00%
src/libs/core/helper/parse_json.cpp                            27      27  0.00%    6-62
src/libs/core/helper/parse_json.hpp                            84      84  0.00%    28-186
src/libs/core/helper/point.hpp                                 32      17  46.88%   17, 22-23, 34-35, 50-66, 77-78, 97, 131-132
src/libs/core/helper/random.cpp                                13       7  46.15%   5, 11-16, 24-25
src/libs/core/helper/random.hpp                                 4       0  100.00%
src/libs/core/helper/sleep.cpp                                 15      15  0.00%    23-76
src/libs/core/helper/static_string.hpp                         30      30  0.00%    17-140
src/libs/core/helper/string_manipulation.cpp                   41       7  82.93%   16-23
src/libs/core/helper/timer.cpp                                 18      18  0.00%    6-32
src/libs/core/helper/timer.hpp                                  0       0  100.00%
src/libs/core/helper/utils.hpp                                 18      12  33.33%   61-112
src/libs/recordings/utility/additional_information.cpp        329     200  39.21%   9-39, 49, 54, 74-85, 88-99, 102-107, 110-115, 118-123, 134-139, 149-183, 205, 214, 223, 242, 250, 257-269, 273-285, 290-295, 300-305, 310-315, 322, 330-335, 342, 347-389, 395, 404, 407, 413, 422-423, 430-431, 442, 450, 453-455, 462-520, 541, 551-564
src/libs/recordings/utility/additional_information.hpp         23      14  39.13%   58, 62-179
src/libs/recordings/utility/checksum_helper.cpp                10       5  50.00%   7-13
src/libs/recordings/utility/checksum_helper.hpp                13       0  100.00%
src/libs/recordings/utility/helper.hpp                         81      28  65.43%   35-36, 58-59, 67, 73-74, 84, 93, 102, 109, 115, 127-154
src/libs/recordings/utility/recording.cpp                      21       3  85.71%   16-17, 42
src/libs/recordings/utility/recording.hpp                       4       0  100.00%
src/libs/recordings/utility/recording_reader.cpp              151      62  58.94%   42, 45, 52, 55-57, 63, 72, 80, 92, 95-97, 131, 137, 143, 147-148, 153, 161-208, 214-215, 222-223, 229-230, 241-242, 248-249, 256-257, 263-264, 268-269, 275-277
src/libs/recordings/utility/recording_reader.hpp                0       0  100.00%
src/libs/recordings/utility/recording_writer.cpp               90      90  0.00%    5-184
src/libs/recordings/utility/recording_writer.hpp                6       6  0.00%    55-62
src/libs/recordings/utility/tetrion_core_information.hpp        6       0  100.00%
src/libs/recordings/utility/tetrion_snapshot.cpp              110      70  36.36%   32, 37, 42, 47, 52, 57, 65, 70, 75, 80-81, 105-225
src/libs/recordings/utility/tetrion_snapshot.hpp                0       0  100.00%
src/lobby/api.cpp                                             145     145  0.00%    30-297
src/lobby/client.cpp                                           42      42  0.00%    10-109
src/lobby/client.hpp                                           12      12  0.00%    81-100
src/lobby/httplib_client.cpp                                   52      52  0.00%    8-122
src/lobby/types.hpp                                            13      13  0.00%    15-82
src/lobby/credentials/buffer.cpp                               28      28  0.00%    7-51
src/lobby/credentials/secret.cpp                               68      68  0.00%    16-148
src/manager/event_dispatcher.hpp                               37      37  0.00%    39-123
src/manager/event_listener.hpp                                  6       6  0.00%    6-19
src/manager/font.cpp                                           13      13  0.00%    5-21
src/manager/font.hpp                                            2       2  0.00%    17-18
src/manager/music_manager.cpp                                 228     228  0.00%    17-411
src/manager/music_manager.hpp                                  12      12  0.00%    69-86
src/manager/resource_manager.hpp                                2       2  0.00%    30-31
src/manager/sdl_controller_key.cpp                             18      18  0.00%    5-34
src/manager/sdl_controller_key.hpp                              3       3  0.00%    34-36
src/manager/sdl_key.cpp                                       222      29  86.94%   27, 75-76, 154-156, 205-211, 222-223, 230, 288, 313, 367-368, 418-436, 446-447
src/manager/sdl_key.hpp                                         3       3  0.00%    118-120
src/manager/settings.cpp                                       18      18  0.00%    10-34
src/manager/settings.hpp                                       34      34  0.00%    20-73
src/manager/settings_manager.cpp                               43      43  0.00%    21-140
src/scenes/scene.cpp                                           18      18  0.00%    15-56
src/scenes/scene.hpp                                           13      13  0.00%    25-75
src/scenes/about_page/about_page.cpp                           57      57  0.00%    19-121
src/scenes/about_page/about_page.hpp                            0       0  100.00%
src/scenes/loading_screen/loading_screen.cpp                   68      68  0.00%    16-127
src/scenes/logo/logo.cpp                                       25      25  0.00%    11-147
src/scenes/main_menu/main_menu.cpp                             97      97  0.00%    13-166
src/scenes/main_menu/main_menu.hpp                              0       0  100.00%
src/scenes/multiplayer_menu/multiplayer_menu.cpp               76      76  0.00%    12-129
src/scenes/multiplayer_menu/multiplayer_menu.hpp                0       0  100.00%
src/scenes/online_lobby/online_lobby.cpp                       86      86  0.00%    19-155
src/scenes/online_lobby/online_lobby.hpp                        0       0  100.00%
src/scenes/play_select_menu/play_select_menu.cpp               76      76  0.00%    11-129
src/scenes/play_select_menu/play_select_menu.hpp                0       0  100.00%
src/scenes/recording_selector/recording_chooser.cpp            75      75  0.00%    12-136
src/scenes/recording_selector/recording_chooser.hpp             0       0  100.00%
src/scenes/recording_selector/recording_component.cpp          93      93  0.00%    13-162
src/scenes/recording_selector/recording_component.hpp           1       1  0.00%    22
src/scenes/recording_selector/recording_selector.cpp          129     129  0.00%    30-233
src/scenes/recording_selector/recording_selector.hpp            2       2  0.00%    23-25
src/scenes/replay_game/replay_game.cpp                         80      80  0.00%    14-163
src/scenes/replay_game/replay_game.hpp                          0       0  100.00%
src/scenes/settings_menu/color_setting_row.cpp                123     123  0.00%    16-238
src/scenes/settings_menu/color_setting_row.hpp                  0       0  100.00%
src/scenes/settings_menu/settings_details.hpp                   1       1  0.00%    11
src/scenes/settings_menu/settings_menu.cpp                    161     161  0.00%    22-279
src/scenes/settings_menu/settings_menu.hpp                      2       2  0.00%    29-31
src/scenes/single_player_game/game_over.cpp                    26      26  0.00%    14-65
src/scenes/single_player_game/game_over.hpp                     0       0  100.00%
src/scenes/single_player_game/pause.cpp                        36      36  0.00%    11-63
src/scenes/single_player_game/pause.hpp                         0       0  100.00%
src/scenes/single_player_game/single_player_game.cpp           75      75  0.00%    20-142
src/scenes/single_player_game/single_player_game.hpp            0       0  100.00%
src/ui/focusable.hpp                                           26      26  0.00%    15-66
src/ui/hoverable.hpp                                           31      31  0.00%    17-80
src/ui/layout.cpp                                              35      35  0.00%    4-66
src/ui/layout.hpp                                              36      36  0.00%    21-146
src/ui/widget.cpp                                               4       4  0.00%    7-12
src/ui/widget.hpp                                              12      12  0.00%    29-56
src/ui/components/abstract_slider.hpp                         128     128  0.00%    27-242
src/ui/components/button.hpp                                   54      54  0.00%    30-131
src/ui/components/color_picker.cpp                            322     322  0.00%    17-565
src/ui/components/color_picker.hpp                              0       0  100.00%
src/ui/components/image_button.cpp                             12      12  0.00%    5-27
src/ui/components/image_button.hpp                              0       0  100.00%
src/ui/components/image_view.cpp                               16      16  0.00%    5-34
src/ui/components/image_view.hpp                                0       0  100.00%
src/ui/components/label.cpp                                    15      15  0.00%    6-36
src/ui/components/label.hpp                                     0       0  100.00%
src/ui/components/link_label.cpp                               43      43  0.00%    6-81
src/ui/components/link_label.hpp                                0       0  100.00%
src/ui/components/slider.cpp                                   39      39  0.00%    7-75
src/ui/components/slider.hpp                                    0       0  100.00%
src/ui/components/text_button.cpp                              33      33  0.00%    5-65
src/ui/components/text_button.hpp                               0       0  100.00%
src/ui/components/textinput.cpp                               294     294  0.00%    17-550
src/ui/layouts/focus_layout.cpp                               169     169  0.00%    10-296
src/ui/layouts/focus_layout.hpp                                28      28  0.00%    48-105
src/ui/layouts/grid_layout.cpp                                 44      44  0.00%    5-72
src/ui/layouts/grid_layout.hpp                                  0       0  100.00%
src/ui/layouts/scroll_layout.cpp                              226     226  0.00%    6-392
src/ui/layouts/scroll_layout.hpp                               13      13  0.00%    73-91
src/ui/layouts/tile_layout.cpp                                 40      40  0.00%    5-57
src/ui/layouts/tile_layout.hpp                                  9       9  0.00%    31-49
TOTAL                                                        9009    7460  17.19%

Results for commit: 9d2a1d1

Minimum allowed coverage is 0%

♻️ This comment has been updated with latest results

@Totto16 Totto16 added the waiting for thirdparty updates Waiting for thirdparty updates, either github actions, toolchains or something similar label Jun 10, 2025
@Totto16 Totto16 force-pushed the windows_arm64_ci branch 2 times, most recently from 856fd33 to 9d2a1d1 Compare June 10, 2025 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Issues regarding Continous Intergation enhancement New feature or request waiting for thirdparty updates Waiting for thirdparty updates, either github actions, toolchains or something similar
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant