Removing some architectures, platforms, or code paths, better support for others
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- cpp
- Lĩnh vực
- build-system, ci-cd, devops
Hướng nghiên cứu
Issue này không nêu tên tệp, bài kiểm thử hay entry point nào. Hãy bắt đầu bằng cách lập danh mục các path hiện có cho 32-bit, x86 macOS, Android GCC, gcw0, gph, Blackberry, WebOS, allocation, Windows ARM, mobile, Emscripten/WASM và GC, sau đó xem xét Android CI PR hiện có. Công việc chỉ được xem là hoàn tất khi có quyết định và phần triển khai được xác định phạm vi riêng cho từng removal hoặc CI addition đã chọn.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I've been thinking about all the various different code paths and platforms which are scattered around and if we could trim some of them down and add better support in the form of CI testing for other platforms.
Removals
32bit
Do we need to support 32bit systems any more? Mobile is all 64bit now, Apple is all 64bit, Windows 11 only provides 64bit images, most Linux distros only provide 64bit images. I'm guessing you can still get very low powered 32bit arm chips, but I can't imagine hxcpp is going to be running on them.
There's very little cpp code which is 32/64 conditional, but it would allow a good bit of cleanup in the build tool and xml toolchains.
x86 MacOS
Current version of MacOS is the last version to support x86, and if past MacOS versions support periods are to go by support will end late 27 / early 28. They've also said they're getting rid of all the translation stuff mid 27. So this seems like a platform which will soon have very little use.
Android GCC
I have basically no mobile knowledge, but my understanding is that now clang is the only way to go, so is there any reason to keep the gcc android toolchain around?
gcw0 and gph
I don't know what these are, gph especially hasn't been modified in years.
Blackberry
I don't think Blackberry devices exists any more, wasn't the last revival attempt was just an Android device? I can't imagine we need this.
WebOS
WebOS is still a thing, but this toolchain hasn't been modified since 2015. Does it still work, does anyone use it?
Non-Aligned Allocs
I think it was something related to atomics where aligned allocations are now always used, is there any use for keeping the unaligned code around? It seems like it's now primed to fall into bit rot like the non smart strings paths.
Better Support / Additions
Windows ARM
Some manufacturers seem to be having another crack at Windows on ARM, probably won't take off like the other attempts but it might be nice to run Windows ARM as part of the CI. Github provide Windows 11 ARM images.
Mobile
There's an open PR to get Android building on the CI, but it would be nice to have one for iOS as well. I don't know how easy it would then be to have the tests run in some sort of simulator? As mentioned above, I have no mobile experience.
Emscripten/WASM
I would have put this under the "is anyone using this" given that Haxe has a JS output, but Hugh has been committing some fixes for it. It doesn't seem like it should be that difficult to get it building and running tests on the CI.
Different GC Paths
It seems like most test code is ran under the standard non moving GC and then some under the generational GC, I don't think any are ran with just the moving option. It would be nice if some GC specific tests could be ran on a wider range of GC options to catch issues. Hopefully this wouldn't balloon the CI too much.
- Ngôn ngữ chính
- C++
- Star
- 329
- Fork
- 231
- Merge trung bình
- 1 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của HaxeFoundation/hxcpp
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
HaxeFoundation/hxcpp#1217 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
HaxeFoundation/hxcpp#1415 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
HXCPP_GC_MOVING crashesĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 47/100
HaxeFoundation/hxcpp#1414 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Use std::quick_exit when exitingĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
HaxeFoundation/hxcpp#1396 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Std.isOfType Enum and ClassĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
HaxeFoundation/hxcpp#1391 · 6 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của HaxeFoundation/hxcpp
Issue tương tự
-
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 72/100
ashhart/TensorFold#535 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
agent:Windows bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày