Giter Club home page Giter Club logo

Comments (3)

tsibley avatar tsibley commented on June 17, 2024 1

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.

victorlin avatar victorlin commented on June 17, 2024

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:

  1. augur has runtime dependencies (e.g. mafft, iqtree) that are not available on Windows, at least via conda
  2. auspice 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.

tsibley avatar tsibley commented on June 17, 2024

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)

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.