Do not put personal access tokens in workflow files or chat logs. If a token is ever pasted into a chat, revoke it and create a new one.
The workflow is self-contained. It does not check out webcli anymore.
The required Octra Labs webcli native files are vendored under:
native/vendor/webcli
The vendored source comes from:
origin https://github.com/octra-labs/webcli
license GPL-2.0-or-later with an OpenSSL linking exception
The Flutter wallet native core depends on these vendored files:
native/vendor/webcli/pvac
native/vendor/webcli/lib/stealth.hpp
native/vendor/webcli/lib/tweetnacl.c
native/vendor/webcli/lib/randombytes.c
Build scripts still accept WEBCLI_DIR=/path/to/webcli as an override for local
experiments, but CI uses the vendored copy.
The workflow lives at:
.github/workflows/flutter-native-mobile.yml
Jobs:
flutter-checks: runsflutter pub get,flutter analyze, and tests if atest/directory exists.native-host: builds Linuxliboctra_core.soand runs the native smoke test.android-apk: builds Android OpenSSL, builds native.solibraries, then builds a release APK artifact.ios-native: builds iOS native static archives on macOS.
Artifacts:
octra-wallet-release-apkandroid-native-libs
The Android job builds OpenSSL for:
arm64-v8aarmeabi-v7ax86_64
Then it packages both liboctra_core.so and libcrypto.so under:
android/app/src/main/jniLibs
The workflow builds native static archives:
native/cpp/target/ios/iphoneos-arm64/liboctra_core.a
native/cpp/target/ios/iphonesimulator-arm64/liboctra_core.a
The Flutter iOS app project is not present in this repository yet. A later step must generate or commit the iOS Flutter project and link:
liboctra_core.a- an iOS-compatible OpenSSL/libcrypto XCFramework