NativeScript iOS test suite powered by FlyCI's macOS runners
NativeScript iOS test suite leverage FlyCI macOS runners for faster and more reliable builds
VRVeselina Radeva![NativeScript Banner](/_next/image?url=%2Fimages%2Fcase-studies%2Fnativescript.png&w=3840&q=75)
Note
This case study relates to FlyCI macOS runners, which will be discontinued as of September 30th, 2024. As a result, it is archived and no longer reflects current FlyCI services. For more information, please refer to our announcement blog post.
NativeScript↗ is an open-source framework for building truly native mobile applications using JavaScript, TypeScript, or Angular. It enables developers to use web technologies they are already familiar with, such as HTML, CSS, and JavaScript, to build mobile apps that perform and look like they were developed using native SDKs for iOS and Android platforms. It is kindly supported by OpenJS Foundation↗ Read more about NativeScript↗.
NativeScript code↗ is located in a public GitHub repository having: StarFork
Note
FlyCI offers 500 min/month free for public projects in order to boost your GitHub Actions with M2 ARM64 macOS runners!
Testimonial
NNathanWalkerWow, it's night/day faster and more efficient. In the past, running iOS and Android test suites could take up to 30 mins and beyond sometimes. In addition they would very often flake out through timeouts and not start at all (most often with Android emulator based tests), requiring a manual restart.
They now take collectively less than 10 minutes on average!
How NativeScript Utilizes FlyCI's Customer Support
A few months back, we caught up with Nathan Walker, a key developer behind NativeScript, to talk about how they've been using GitHub Actions in their development process. Nathan mentioned that the team ran into some snags with running NativeScript's test suites for iOS and Android on GitHub's runners. That's when our Customer Support team stepped in and swiftly resolved the issue within hours↗.
Note
Get advantage of FlyCI's community support via Discord↗.
Do you need a personal touch? Check out FlyCI's Professional tier which includes Professional Customer Support package.
How NativeScript Utilizes FlyCI's macOS runners
NativeScript core consists of iOS runtime and Android runtime. The runtimes are the proxy mechanism that "translates" the JavaScript code to the corresponding native APIs. The iOS test suite is where our macOS runners come in action:
jobs:
test-ios:
runs-on: flyci-macos-14-m2
....
- name: Run tests on iOS Simulator
run: node tools/scripts/run-automated.js ios
Experience with FlyCI macOS Runners
We asked Nathan Walker↗ to share team's motivation for using FlyCI, the experience so far, and the improvements they saw. Here is the feedback↗ we got.
-
Motivation: "We need to be able to start iOS simulators so macOS runners are a must."
-
Experience: "We have encountered no issues yet but will keep you all posted but it's been great so far!"
-
Improvements: "Perhaps some tutorials on setup for open source project use"
NNathanWalkerGive FlyCI a try, it's fast!
Check out FlyCI Getting Started guide for a quick start with fast and cheap FlyCI macOS runners!