/setup-msys2

GitHub Action to setup Msys2

Primary LanguageJavaScriptMIT LicenseMIT

Setup MSYS2

'action' workflow Status

setup-msys2 is a JavaScript GitHub Action (GHA) to setup a full-featured MSYS2 environment, using the GHA toolkit.

The latest tarball available at repo.msys2.org/distrib/x86_64 is cached. Using the action extracts it and provides an entrypoint named msys2do.

Usage

  - uses: numworks/setup-msys2@v1
  - run: msys2do uname -a

Options

msystem

By default, MSYSTEM is set to MINGW64. However, an optional parameter named msystem is supported, which expects MSYS, MINGW64 or MING32. For example:

  - uses: numworks/setup-msys2@v1
    with:
      msystem: MSYS

Furthermore, the environment variable can be overriden. This is useful when multiple commands need to be executed in different contexts. For example, in order to build a PKGBUILD file and then test the installed artifact:

  - uses: numworks/setup-msys2@v1
    with:
      msystem: MSYS
  - run: msys2do makepkg-mingw -sCLfc --noconfirm --noprogressbar
  - run: msys2do pacman --noconfirm -U mingw-w64-*-any.pkg.tar.xz
  - run: |
      set MSYSTEM=MINGW64
      msys2do <command to test the package>

path-type

By default, MSYS2_PATH_TYPE is set to strict by msys2do. It is possible to override it either using an option or setting the environment variable explicitly:

  - uses: numworks/setup-msys2@v1
    with:
      path-type: inherit
  - run: msys2do <command>
  - uses: numworks/setup-msys2@v1
  - run: msys2do <command>
    env:
      MSYS2_PATH_TYPE: inherit

update

By default, the installation is not updated; hence package versions are those of the installation tarball. By setting option update to true, the action will execute pacman -Syu --no-confirm:

  - uses: numworks/setup-msys2@v1
    with:
      update: true