GitHub Actions のホストランナーとして Windows が提供されているため、そこに cygwin をインストールすることで cygwin バイナリを動かしてテストなどをすることができます。
cygwin のインストールには Chocolatey を使用します。
以下の設定で基本パッケージをインストールすることができます。
- name: Install cygwin base packages with chocolatey run: | choco install --no-progress cygwin
デフォルトだと C:\tool\cygwin 配下にインストールされるようです。
また setup.exe がインストールされるため、追加パッケージはそれを使ってインストールすることができます。
(CLI オプションは https://cygwin.com/faq/faq.html#faq.setup.cli を参考にします。)
- name: Install cygwin additional packages run: | C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -l C:/tools/cygwin/package -s http://mirrors.kernel.org/sourceware/cygwin/ -P autoconf,bison,gcc-core,git,libffi-devel,libgdbm-devel,libgmp-devel,libreadline-devel,libssl-devel,make,patch,ruby,zlib-devel
あとは git clone して、bash 経由でさまざまなコマンドを呼べば、cygwin 環境で動かすことができます。
- name: Set ENV run: | echo '::set-env name=PATH::C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin' - name: Checkout run: | git clone --single-branch --shallow-since=yesterday https://github.com/fd00/example src git -C src reset --hard ${{ github.sha }} shell: cmd - name: Autoconf run: | cd src bash /usr/bin/autoconf shell: cmd - name: Configure run: | md build cd build bash ../src/configure shell: cmd - name: make check run: | make -C build check shell: cmd
ruby に contribute したものはとりあえず動いているようです。