-
Notifications
You must be signed in to change notification settings - Fork 0
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm 👍
do we want to remove the flutter cache step? It doesn't save that much time, but it does take up a lot of space
i'd say yes, but that's more of a gut feeling. it seems we should save the cache space and might use it in another git action if we don't gain speedup from it.
do we also want to build for release?
there is probably no need for it, as it should only affect performance, but not logic. also with a debug build we get the occasional debug assertions.
do we want to upgrade flutter to the same version Blue is using? (beta channel)
if there is no compatibility issue, i'd say no as we should aim for stability in production releases. does blue rely on any beta features or could they use stable as well?
572d349
to
e032772
Compare
had a quick chat with frank and team blue uses |
f3dc14c
to
27a60d3
Compare
Okay, I've added the xcode archive command and we can reproduce the bug the team encountered
|
ed46515
to
38b3a54
Compare
has been fixed fixed in #75 The new linker error, seems to be spefic to the XCode version
The build does not fail with 12.5 (latest release but has not been rolled out yet) or 12.2 (the version that Team Blue uses) I will change it to 12.2 to match Team Blue's CI settings. Not sure if we should also change the XCode version in the ios build jobs to 12.4. |
e9ef165
to
652a728
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think is good, I'm a bit worried that this file is getting too big. May we can think about splitting this in two (moving out the part needed for flutter build
) or three (rust
, flutter
, flutter build
)
and see if we can move the built libraries among the workflows using artifacts.
.github/workflows/ci.yml
Outdated
run: mv xayn-ai-ffi-c/ffi.h ${{ github.workspace }}/xayn-ai-ffi-c/ffi.h | ||
|
||
- name: Download all artifacts | ||
# Currently we can only download all artifacts. Using wildcards is not |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we use build-ios-${{ matrix.target }}-${{ github.sha }}
as the name of the artifact we should be able to name it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good Idea👍 I will change it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@@ -21,6 +21,6 @@ | |||
<key>CFBundleVersion</key> | |||
<string>1.0</string> | |||
<key>MinimumOSVersion</key> | |||
<string>8.0</string> | |||
<string>9.0</string> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blue here has 10
, I think we can use the same. https://github.com/xaynetwork/xayn_search/blob/50ca127d7641613888ae62fa62f7a3cbf2fe48f4/xayn_search/ios/Flutter/AppFrameworkInfo.plist#L24
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good 👍 What I noticed is that team blue uses different versions across the project. In AppFrameworkInfo.plist
they use 10 and in the xcode project they use 12.1
But in the flutter docs they say they should actually match https://flutter.dev/docs/deployment/ios#updating-the-apps-deployment-version
Shall we go with 12.1
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Point that out in their channel, I have no idea what the correct value should be.
@@ -0,0 +1,41 @@ | |||
# Uncomment this line to define a global platform for your project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need this now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean the file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need it to set some custom options for our pods/dependencies. Before we just used the default settings that are generated by flutter when the file doesn't exist.
@@ -235,6 +302,7 @@ | |||
isa = XCBuildConfiguration; | |||
buildSettings = { | |||
ALWAYS_SEARCH_USER_PATHS = NO; | |||
ARCHS = arm64; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blue does not have this but has VALID_ARCHS = "arm64 arm64e"
do you know the difference between the two options?
https://github.com/xaynetwork/xayn_search/blob/50ca127d7641613888ae62fa62f7a3cbf2fe48f4/xayn_search/ios/Runner.xcodeproj/project.pbxproj#L520
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Valid arch has been deprecated since Xcode 12.x
The Build Settings editor no longer includes the Valid Architectures build setting (VALID_ARCHS), and its use is discouraged. Instead, there is a new Excluded Architectures build setting (EXCLUDED_ARCHS). If a project includes VALID_ARCHS, the setting is displayed in the User-Defined section of the Build Settings editor. (15145028)
I replaced it with EXCLUDED_ARCHS
I will let team blue know about it
@@ -431,8 +444,8 @@ jobs: | |||
RUSTFLAGS: ${{ env.OPT_TESTS_RUSTFLAGS }} | |||
run: wasm-pack test --firefox --chrome --headless | |||
|
|||
build-xain-ai-lib: | |||
name: build-xain-ai-lib | |||
build-linux-lib: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was wondering if we can reuse what is built during the test job.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cargo test
does not produce the library but we can reuse the cache of the test job. Then only the library has to be created and not everything else. I will change it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
There was a bug that we solved by installing the gnu version of tar. But I thought that it was solved in the new version of the macos image.
We don't run the example app, the libraries are just there to make For the rest I agree with what @janpetschexain already said. |
ff193f5
to
3253c5a
Compare
That statement was wrong. The Xcode version was not the reason it didn't work in the CI, but the fact that I compiled the static lib locally without the cargo flag The root cause seems to be We could try to build rust std with the llvm version that apple uses. There is already a repo rust-bitcode that we could use to do that but it requires rust nightly and I'm not sure we're causing other problems because of this. For what is bitcode used for:
There are even more advantages. The good thing is that bitcode is only required for Flutter has added support for bitcode enabled apps but it seems to be disabled by default, however, that is not the case for the pods/dependencies of the app. So to make the |
6e4ad9b
to
a071b95
Compare
Co-authored-by: janpetschexain <58227040+janpetschexain@users.noreply.github.com>
Co-authored-by: janpetschexain <58227040+janpetschexain@users.noreply.github.com>
407b586
to
3ec60be
Compare
add build dart example Co-authored-by: janpetschexain <58227040+janpetschexain@users.noreply.github.com>
add build dart example Co-authored-by: janpetschexain <58227040+janpetschexain@users.noreply.github.com>
add build dart example Co-authored-by: janpetschexain <58227040+janpetschexain@users.noreply.github.com>
Ticket: TY-1786
Changes:
cache
action withupload
\download
artifact (the cache step did not work for some unknown reason on macOS)flutter build
with same option as Blue doesflutter
to 2.0.6Android
https://github.com/xaynetwork/xayn_search/blob/27d2291f30446c15ff43d171867f889149b93a87/.github/workflows/xayn_search_master_pr.yml#L73-L79
iOS
https://github.com/xaynetwork/xayn_search/blob/27d2291f30446c15ff43d171867f889149b93a87/.github/workflows/xayn_search_master_pr.yml#L95-L98
armv7
pods
8
to12.1
Open questions
do we also want to build for release?We don't expect any differences betweenrelease
anddebug
build on our par codet, sodebug
should be enoughhttps://github.com/xaynetwork/xayn_search/blob/27d2291f30446c15ff43d171867f889149b93a87/xayn_search/build_scripts/build_ios_for_release.sh#L55
flutter
to the same version Blue is using? (beta channel)