Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.

Mac addition to installation instructions and MacOS GitHub Actions Workflow#60

Merged
ar-siddiqui merged 14 commits intoNGWPC:mainfrom
robgpita:mac-install-and-macos-CI
May 22, 2025
Merged

Mac addition to installation instructions and MacOS GitHub Actions Workflow#60
ar-siddiqui merged 14 commits intoNGWPC:mainfrom
robgpita:mac-install-and-macos-CI

Conversation

@robgpita
Copy link
Collaborator

Instructions added to INSTALL.md for MacOS installation. These instructions are based off a successful installation on MacOS-14 (Sonoma). Later or earlier versions of MacOS were not attempted, and may require further installation instructions to be added.

A new GitHub Actions workflow file is added. The new Continuous Integration will build the latest darwin release version (scripts/build-darwin-arm64.sh) of the flows2fim executable within a docker container on an ubuntu image, upload the executable as a GitHub artifact, the next job runs on a macos-latest Operating System (currently macos-14), and will pull down the built flows2fim executable, install gdal, and execute a mac test suite (scripts/test_suite_mac.sh).

The mac test suite (scripts/test_suite_mac.sh), references a new version of reference data which has been added. The only change to the reference data from the Linux version is that on the macos GHA runner, the testdata/reference_data/fim_output_formats_mac/fim_2year.vrt file's SourceFilename was changed from

<SourceFilename relativeToVRT="0">/home/runner/work/flows2fim/flows2fim/testdata/reference_data/library/24274741/z_nd/f_17668.tif</SourceFilename>

to

<SourceFilename relativeToVRT="0">/Users/runner/work/flows2fim/flows2fim/testdata/reference_data/library/24274741/z_nd/f_17668.tif</SourceFilename>

due to default filesystem paths between Linux and Mac Operating Systems.

See this successful run of the GHA workflow. Please note the branch used for the testing of the GHA workflow has since been changed to mac-install-and-macos-CI.

@robgpita robgpita requested a review from ar-siddiqui May 22, 2025 19:43
@ar-siddiqui
Copy link
Member

@robgpita thanks for going further on this and adding an action for testing. I have a couple of questions.

  1. Why do we need to add a separate test script for Mac? Was it only to reference different test data, or were there other reasons as well?
  2. I think we can remove the Build From Source section in the MacOS Install Instructions, as Windows and Mac instructions are mostly for end users, and they shouldn't be building from source. It may cause confusion. What do you think?

@ar-siddiqui
Copy link
Member

@robgpita Lets remember to squash the commits when merging PR.

@robgpita
Copy link
Collaborator Author

@ar-siddiqui -
1.) The main reason is that the additional test script utilizes a different path for the fim_reference_output_formats variable. We could modify the existing test script to incorporate an 'architecture' argument and add a conditional based on that, but the existing test script is already pushing the limits in length and logic IMO as is. Moreover, if we end up adding a Windows CI, the different files will vary considerably. Having separated test scripts sets the stage for having a different test script for each architecture.
2.) I think leaving the option to build from source in the MacOS instructions is valuable. This is because potential users might have different versions of MacOS, which may have different errors when trying to download the release tarball. I have MacOS 14, but newer versions of mac might have different errors so a user might end up utilizing those instructions if they are not able to download.

@ar-siddiqui ar-siddiqui merged commit ac39226 into NGWPC:main May 22, 2025
4 checks passed
@robgpita robgpita deleted the mac-install-and-macos-CI branch July 24, 2025 18:14
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants