|
| 1 | +.rn-sdk-workflow: |
| 2 | + image: node:24-slim |
| 3 | + rules: |
| 4 | + - if: $CI_COMMIT_TAG =~ /^rn-sdk-/ |
| 5 | + when: always |
| 6 | + - if: $CI_PIPELINE_SOURCE == "merge_request_event" |
| 7 | + changes: |
| 8 | + - packages/react-native/**/* |
| 9 | + - .gitlab/ci/build_rn_sdks.yml |
| 10 | + - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS |
| 11 | + when: never |
| 12 | + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH |
| 13 | + changes: |
| 14 | + - packages/react-native/**/* |
| 15 | + - .gitlab/ci/build_rn_sdks.yml |
| 16 | + |
| 17 | +.rn-sdk-base: |
| 18 | + extends: .rn-sdk-workflow |
| 19 | + before_script: |
| 20 | + - npm install -g pnpm@9.5.0 |
| 21 | + - pnpm config set @polycentric:registry https://${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/ |
| 22 | + - pnpm install |
| 23 | + needs: |
| 24 | + - job: js-sdks-build |
| 25 | + artifacts: true |
| 26 | + - job: rs-sdk-build-android-arm64 |
| 27 | + artifacts: true |
| 28 | + - job: rs-sdk-build-android-armv7 |
| 29 | + artifacts: true |
| 30 | + - job: rs-sdk-build-android-x86 |
| 31 | + artifacts: true |
| 32 | + - job: rs-sdk-build-android-x86_64 |
| 33 | + artifacts: true |
| 34 | + - job: rs-sdk-build-ios-device |
| 35 | + artifacts: true |
| 36 | + - job: rs-sdk-build-wasm-browser |
| 37 | + artifacts: true |
| 38 | + |
| 39 | +rn-sdk-build: |
| 40 | + extends: .rn-sdk-base |
| 41 | + stage: build |
| 42 | + script: |
| 43 | + - mkdir -p packages/react-native/android/libs/arm64-v8a |
| 44 | + - cp target/aarch64-linux-android/release-rs-core/libpolycentric_core.a packages/react-native/android/libs/arm64-v8a/ |
| 45 | + - mkdir -p packages/react-native/android/libs/armeabi-v7a |
| 46 | + - cp target/armv7-linux-androideabi/release-rs-core/libpolycentric_core.a packages/react-native/android/libs/armeabi-v7a/ |
| 47 | + - mkdir -p packages/react-native/android/libs/x86 |
| 48 | + - cp target/i686-linux-android/release-rs-core/libpolycentric_core.a packages/react-native/android/libs/x86/ |
| 49 | + - mkdir -p packages/react-native/android/libs/x86_64 |
| 50 | + - cp target/x86_64-linux-android/release-rs-core/libpolycentric_core.a packages/react-native/android/libs/x86_64/ |
| 51 | + - mkdir -p packages/react-native/ios/libs/aarch64-apple-ios |
| 52 | + - cp buildRsCoreIOSDevice/binary/libpolycentric_core-ios-device.a packages/react-native/ios/libs/aarch64-apple-ios/libpolycentric_core.a |
| 53 | + - cd packages/react-native |
| 54 | + - pnpm build |
| 55 | + artifacts: |
| 56 | + paths: |
| 57 | + - packages/react-native/lib |
| 58 | + - packages/react-native/android/libs |
| 59 | + - packages/react-native/ios/libs |
| 60 | + expire_in: 1 week |
| 61 | + rules: |
| 62 | + - !reference [.rs-sdk-workflow, rules] |
| 63 | + - !reference [.app-workflow, rules] |
0 commit comments