Enjoy FlyCI Wingman FOR FREE!

Read more
See all case studies

OSHI leverages FlyCI for macOS builds

VRVeselina Radeva
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

Testimonial

Ddbwiddis

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:

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

Experience with FlyCI macOS Runners

Ddbwiddis

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.

Automated fixes

Automatically get fixes for failing GitHub Actions workflows directly proposed in your pull request.