See all case studies

OSHI leverages FlyCI for macOS builds

OSHI Banner

OSHI 🔗 is a free JNA-based (native) Operating System and Hardware Information library for Java. It does not require the installation of any additional native libraries and aims to provide a cross-platform implementation to retrieve system information, such as OS version, processes, memory and CPU usage, disks and partitions, devices, sensors, etc.

OSHI source code 🔗 is located in a public GitHub repository having: StarFork



As a cross-platform, cross-architecture project, it's important for OSHI to test its code on as many different combinations of operating system and architecture as possible. Until recently, GitHub did not have runners for Apple Silicon, so it was great to see FlyCI offering an M1 runner with a generous free monthly allowance for open source projects. Installing it took only a few minutes with a single line of code and a few mouse clicks.

When GitHub made their own runners available it was good to get a side-by-side comparison of the two. Initially FlyCI appeared to be slower, but after reporting it to them they quickly found an incorrect caching configuration and updated their runners within the day. Other project's claims that they are twice as fast appear consistent with the results I'm seeing.

Read more in GitHub 🔗

How OSHI uses FlyCI?

For OSHI leveraging FlyCI runners required just installing FlyCI GitHub app and adding a few lines of code to the corresponding macOS workflow:

  # Runs full project on multiple JDKs
    runs-on: ${{ matrix.os }}
        # Baseline support, Current LTS, Current GA, Current EA
        java: [11, 17, 21]
        os: [macos-11, macos-12, macos-13]
          - os: flyci-macos-large-latest-m1
            java: 21
      fail-fast: false

Experience with FlyCI macOS Runners


FlyCI ran in only 40s thanks to the caching. The equivalent GitHub runner took 1m23s.

Read more in GitHub 🔗

Thank you, dbwiddis 🔗 for trusting the FlyCI services!

Do you want to try FlyCI by yourself? Check our Getting Started guide.

Why choosing FlyCI & Wingman?

Better focus

Shift your attention to innovating in your product instead of troubleshooting failing builds.

Save time

Automatically fix CI builds, reducing debugging time. FlyCI Wingman is doing the fixes for you.

Faster builds

Get faster build times with our M2 runners. Up to 3x faster builds compared to Intel-based machines.