Code Monkey home page Code Monkey logo

homebrew-wrf's People

Contributors

letmaik avatar zbeekman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

homebrew-wrf's Issues

Formula only successfully building from HEAD

The current formula is based on WRF-CMake 4.0.3 where clang was not supported.
The current formula can only be successfully be built using the latest commits in wrf-cmake branch. To build from the latest commit in wrf-cmake, users can pass the --HEAD flag when building. I will update the docs accordingly for now until we release 4.1.0

Are bottles ever suitable?

@zbeekman You mentioned in WRF-CMake/wrf#22 that it would be awesome if WRF-CMake makes it into the Homebrew package manager, which would mean upstreaming the formula to homebrew-core and then letting the homebrew build bots create bottles (=binary distributions). Is that correct?

I thought about this a bit more and identified a potential blocker. First, some context.

Currently when users build WRF-CMake from source then they are more or less on their own, meaning that if they have an incompatible compiler or dependency version on their system then they have to fix it and we can't do much about it. We could mention CI-tested compiler and library versions somewhere, but that's a bonus. In general it all works out and it's nearly never an issue, but it may be.

When users download our pre-built binaries then they can be sure that this exact binary including all bundled dependencies has been tested and validated by our CI setup. There is nearly nothing that can go wrong there, apart from having the wrong mpi runner installed, but that's it.

With Homebrew bottles, we don't have this gating process and also don't have control over library versions. We can influence the compiler to some degree but it's not an ultimate solution.

Given all this, does it make sense at all to try to move the WRF-CMake formula to homebrew-core? How could we prevent that new bottles are built that accidentally lead to breaks that are only visible at runtime? Keep in mind that our CI-based tests take many hours to run and they couldn't be integrated into the test part of the formula. We could have a very simple "doesn't crash when running a super-short simulation" test but this is tricky as well, since some failure scenarios become only visible in debug mode and otherwise just happily corrupt memory in release mode which may not become obvious for very small tests.

In summary, we want to be careful when releasing binary distributions and I don't see a good way to have sufficient quality control with brew bottles in this case.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.