Comments (3)
Notes from some quick looking again at CI for Windows.
Docker runtime
Neither the windows-2022
or windows-2019
runners that GitHub Actions provides support WSL 2 or Hyper-V, so while Docker is installed and "works", it appears limited to running Windows containers. Bummer!
We could potentially address this by self-hosting a runner on a Windows machine, or looking at other CI services which might provide this (e.g. my unfinished AppVeyor proof-of-concept from 2018).
Native runtime
Bioconda by policy doesn't build packages for Windows, even if it would be possible for a package.
Conda Forge does, however, so one option is to submit/maintain recipes there for a few of our external deps to make it easier to bootstrap a native runtime on Windows.
Otherwise, here's what currently exists.
MAFFT
MAFFT has a Windows executable designed for running under Git Bash. The published archive bundles up Git Bash itself and includes a launcher/wrapper script. We could also extract just the MAFFT bits and use them with the pre-existing Git Bash installed on GitHub Actions runners. The MAFFT bits in the archive are:
mafft-win/usr/bin/mafft.exe
mafft-win/usr/bin/mafft-homologs.rb
mafft-win/usr/lib/mafft/*
and, as on Unix-like OSes, it appears that setting MAFFT_BINARIES
to the location of its lib executables is necessary.
IQ-TREE
IQ-TREE publishes native Windows executables (e.g.).
Other external deps
We may not need these for CI, but:
FastTree publishes native Windows executables. We could likely compile it ourselves too.
RAxML publishes native Windows executables, compiled by third-parties (meaning we could also do so if needed).
VCFtools is a combination of Perl and C++ that could likely be compiled for Windows.
from cli.
This is tricky because we need to install augur
and auspice
for the zika-tutorial test, but there is no way to properly install those on Windows:
augur
has runtime dependencies (e.g. mafft, iqtree) that are not available on Windows, at least via condaauspice
is not availabe on Windows via conda (can this be changed?)
See example run:
Encountered problems while solving:
- nothing provides requested auspice
- nothing provides mafft needed by augur-10.0.0-py_0
from cli.
We may be able to package Auspice for Windows. However, Augur still remains an issue. We can skip building zika-tutorial with --native
on Windows, though? This would still test one of our recommended install method on Windows and cover a lot of ground. Relatedly, it'd be good to test the other Windows install method too inside WSL.
from cli.
Related Issues (20)
- Uncaught ImmatureSignatureError: The token is not yet valid (iat) HOT 3
- Python user site directory leaks into Conda runtime HOT 5
- Test compatibility with SingularityCE 4.x series
- nextstrain view can't connect to host on a Mac inside a Conda environment HOT 8
- Use same version resolution method in `nextstrain setup conda` as `nextstrain update conda` HOT 1
- Invalid `~/.shrc` file named in standalone installer instructions HOT 5
- Broken CI due to upstream release; mypy implicated HOT 1
- Consider UI/UX for AWS Batch runtime without Docker runtime HOT 1
- Singularity/Apptainer Version HOT 4
- remote/s3 should instantiate its own MimeTypes instance
- CLI-ception: Some commands do not work in managed runtime shells HOT 4
- Extend validity of login refresh tokens to 90 days from 30 days HOT 1
- Unhandled exception when renewing login from a different Cognito user pool HOT 1
- Pass AWS credentials from standard file to Docker HOT 1
- Show progress during `check-setup` HOT 1
- Unable to set up Singularity runtime on Fred Hutch's `rhino` HOT 2
- shell: Command hangs when `--conda` is used and the runtime has not been set up HOT 13
- Update pinned version of micromamba (1.1.0 -> 1.5.8) as it's been 9 months since last bump
- Update "build directory" terminology in help and docs
- Scheduled CI failed across macOS due to IQTree error: `Invalid "-ntmax" option` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cli.