You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As we're beginning Project Arches and thinking about offering invest as a service, I propose that we officially support a Linux OS (probably specifically Ubuntu, since that's what Github Actions offers, with the expectation that many linux distros will be compatible). This is only for the invest python package. I do not include the workbench in this proposal - it would be more work to support, and haven't seen any demand for it.
We already vaguely support linux, in that the container build runs on ubuntu, and we expect invest to work on Sherlock. Not much work should be needed to make it official.
Justification
As we move towards running invest in the cloud, on HPC, in Docker containers, etc, Linux is the standard for these environments. Linux VMs (often Ubuntu or Debian) are the default, cheapest, and most readily available from cloud providers. HPC systems usually run Linux. Dockerfiles commonly use a debian or ubuntu base image. Officially supporting Linux before we face higher demand for invest in these contexts will set us up for success, and allow time to address any OS-specific bugs or build issues. Additionally,
Proactively address any OS-specific issues that might otherwise only surface at an inconvenient time (such as in a ReadTheDocs build, which runs on ubuntu, or while running a job on Sherlock)
Some useful tools (eg. valgrind) are not available on mac or windows.
If we do more work in C++, OS-specific / compiler-specific issues are more likely
It's in the spirit of open source software!
Downsides
Initial work to implement (estimated 1-2 days)
Additional maintenance effort to resolve any OS-specific issues that arise
Small additional user support effort; possibly receiving questions about issues on less common distros
Software team members may need to set up Linux VMs for local development
Action items
Specific tasks to achieve this would be:
Update Github Actions workflows to build and test on ubuntu in addition to windows and macos
Update release process to provide wheels for linux (probably manylinux)
Update conda-forge process to provide distribution for linux (probably linux-64 to begin with)
Resolve any test failures, build issues, etc that may arise in doing the above
Barring any major unforseen obstacles, this should only take 1-2 days work.
The text was updated successfully, but these errors were encountered:
As we're beginning Project Arches and thinking about offering invest as a service, I propose that we officially support a Linux OS (probably specifically Ubuntu, since that's what Github Actions offers, with the expectation that many linux distros will be compatible). This is only for the invest python package. I do not include the workbench in this proposal - it would be more work to support, and haven't seen any demand for it.
We already vaguely support linux, in that the container build runs on ubuntu, and we expect invest to work on Sherlock. Not much work should be needed to make it official.
Justification
As we move towards running invest in the cloud, on HPC, in Docker containers, etc, Linux is the standard for these environments. Linux VMs (often Ubuntu or Debian) are the default, cheapest, and most readily available from cloud providers. HPC systems usually run Linux. Dockerfiles commonly use a debian or ubuntu base image. Officially supporting Linux before we face higher demand for invest in these contexts will set us up for success, and allow time to address any OS-specific bugs or build issues. Additionally,
valgrind
) are not available on mac or windows.Downsides
Action items
Specific tasks to achieve this would be:
manylinux
)linux-64
to begin with)Barring any major unforseen obstacles, this should only take 1-2 days work.
The text was updated successfully, but these errors were encountered: