ARK-Builders / ark-core

The core of the ARK framework
MIT License
4 stars 3 forks source link

Include Windows and macOS Targets for CI #39

Closed tareknaser closed 4 months ago

tareknaser commented 5 months ago

Description

We found that certain bugs appear in macOS but not in Linux, which was hard to spot since we only tested on Linux. For example, system time representation can differ across operating systems. This PR fixes it by adding Windows and macOS CI jobs for each commit/PR.

Changes

The change wasn't straightforward because the build initially failed on Windows and macOS due to:

This PR resolves the issues by:

Currently, we only run CI tests for macOS Intel because using macOS ARM requires payment for GitHub Actions. See more information in macOS runner pricing

For now, we've added support for macOS Intel and included a GitHub Actions workflow for macOS ARM. Just as a placeholder within the release job, which is not yet implemented, with a "FIXME". It may be reasonable to run macOS ARM tests exclusively for release builds.

Other changes made include adding the logo to the README and including badges for CI and the license.

github-actions[bot] commented 5 months ago

Benchmark for d423fe0

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | ../test-assets/lena.jpg/compute_bytes | 13.9±0.12µs | **13.3±0.07µs** | **-4.32%** | | ../test-assets/test.pdf/compute_bytes | 114.2±0.52µs | **110.2±0.87µs** | **-3.50%** | | compute_bytes_large/compute_bytes | 141.8±1.81µs | **136.4±0.80µs** | **-3.81%** | | compute_bytes_medium/compute_bytes | 27.8±0.18µs | **27.5±0.23µs** | **-1.08%** | | compute_bytes_small/compute_bytes | 132.0±1.77ns | **127.8±1.27ns** | **-3.18%** | | index_build/index_build/../test-assets/ | **158.7±0.73µs** | 165.1±7.46µs | **+4.03%** |
github-actions[bot] commented 5 months ago

Benchmark for aaa2a91

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | ../test-assets/lena.jpg/compute_bytes | **13.3±0.12µs** | 13.4±0.09µs | **+0.75%** | | ../test-assets/test.pdf/compute_bytes | 110.8±0.73µs | **109.1±0.39µs** | **-1.53%** | | compute_bytes_large/compute_bytes | 139.0±0.92µs | 139.6±0.77µs | +0.43% | | compute_bytes_medium/compute_bytes | 27.7±0.40µs | 27.5±0.51µs | -0.72% | | compute_bytes_small/compute_bytes | 130.5±3.01ns | **127.6±1.51ns** | **-2.22%** | | index_build/index_build/../test-assets/ | **158.0±1.43µs** | 166.3±1.04µs | **+5.25%** |
tareknaser commented 5 months ago

I've set up a new workflow to run:

This workflow runs tests on different platforms, including Linux, Windows, and macOS (ARM and Intel).

github-actions[bot] commented 5 months ago

Benchmark for a034ba2

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | ../test-assets/lena.jpg/compute_bytes | 14.0±0.12µs | **13.3±0.19µs** | **-5.00%** | | ../test-assets/test.pdf/compute_bytes | **109.0±0.43µs** | 308.5±4.93µs | **+183.03%** | | compute_bytes_large/compute_bytes | **135.8±3.41µs** | 503.5±2.11µs | **+270.77%** | | compute_bytes_medium/compute_bytes | **26.7±0.29µs** | 27.0±0.15µs | **+1.12%** | | compute_bytes_small/compute_bytes | 130.0±1.95ns | **127.6±2.32ns** | **-1.85%** | | index_build/index_build/../test-assets/ | **157.7±2.16µs** | 163.4±1.27µs | **+3.61%** |
github-actions[bot] commented 5 months ago

Benchmark for a362368

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | ../test-assets/lena.jpg/compute_bytes | **13.3±0.15µs** | 13.4±0.08µs | **+0.75%** | | ../test-assets/test.pdf/compute_bytes | 112.0±3.96µs | **110.0±0.88µs** | **-1.79%** | | compute_bytes_large/compute_bytes | 143.0±1.69µs | **137.1±2.54µs** | **-4.13%** | | compute_bytes_medium/compute_bytes | 27.0±0.40µs | 26.9±0.44µs | -0.37% | | compute_bytes_small/compute_bytes | 132.4±7.85ns | **127.6±1.13ns** | **-3.63%** | | index_build/index_build/../test-assets/ | **160.5±2.23µs** | 163.1±0.39µs | **+1.62%** |