Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
GitHub Action to setup MSYS2
| Date | Stars |
|---|---|
| 2026-07-24 | 387 |
| 2026-07-25 | 388 |
| 2026-07-28 | 389 |
| 2026-07-30 | 389 |
| 2026-08-06 | 389 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
15.0
growth rate 0.00%/day
# Setup MSYS2
**setup-msys2** is a GitHub Action (GHA) to setup an [MSYS2](https://www.msys2.org/) environment (i.e. MSYS,
MINGW32, MINGW64, UCRT64, CLANG64 and/or CLANGARM64 shells)
It provides:
* Easy installation and updates
* Easy package installation including caching for faster re-runs
* A shell helper for running your commands or your whole job in an MSYS2 environment
## Usage
```yaml
- uses: msys2/setup-msys2@v2
```
Then, for scripts:
```yaml
- shell: msys2 {0}
run: |
uname -a
```
It is also possible to execute specific commands from cmd/powershell scripts/snippets.
In order to do so, `-c` is required:
```yaml
- shell: powershell
run: msys2 -c 'uname -a'
```
```yaml
- shell: cmd
run: msys2 -c 'uname -a'
```
### Default shell
In order to reduce verbosity, it is possible to set `msys2` as the default shell. For example:
```yaml
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
update: true
install: >-
curl
git
- uses: actions/checkout@v4
```
### Build matrix
It is common to test some package/tool on multiple environments, which typically requires installing different sets of
packages through option `install`.
GitHub Actions' `strategy` and `matrix` fields allow to do so, as explained in [docs.github.com: Running variations of jobs in a workflow](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow)
and [docs.github.com: `jobs.<job_id>.strategy.matrix`](https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix).
See, for instance:
```yml
strategy:
matrix:
include:
- { sys: mingw64, env: x86_64 }
- { sys: mingw32, env: i686 }
- { sys: ucrt64, env: ucrt-x86_64 }
- { sys: clang64, env: clang-x86_64 }
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}
install: mingw-w64-${{matrix.env}}-openssl
```
Alternatively, option `pacboy` allows using a single matrix variable:
```yml
strategy:
matrix:
sys:
- mingw64
- mingw32
- ucrt64
- clang64
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}
pacboy: openssl:p
```
Furthermore, [.github/workflows/PKGBUILD.yml](.github/workflows/PKGBUILD.yml) is a [Reusable Workflow](https://docs.github.com/en/actions/sharing-automations/reusing-workflows)
to build and test a package in GitHub Actions using a PKGBUILD recipe.
It can be used along with [matrix](./matrix) (a [Composite Action](https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-composite-action)),
as shown in [.github/workflows/Tool.yml](.github/workflows/Tool.yml).
Note: By default, GitHub Actions terminates any running jobs if any job in matrix
fails. This default behavior can be disabled by setting `fail-fast: false` in
strategy section. See
[docs.github.com: `jobs.<job_id>.strategy.fail-fast`](https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast)
for more details.
Find similar patterns in the following workflows:
- [examples/cmake.yml](examples/cmake.yml)
- [msys2/MINGW-packages: .github/workflows/main.yml](https://github.com/msys2/MINGW-packages/blob/master/.github/workflows/main.yml)
Find further details at [#171](https://github.com/msys2/setup-msys2/issues/171#issuecomment-961458598) and [#102](https://github.com/msys2/setup-msys2/issues/102).
### Options
#### msystem
* Type: `string`
* Allowed values: `MSYS | MINGW64 | MINGW32 | UCRT64 | CLANG64 | CLANGARM64`
* Default: `MINGW64`
The default [environment](https://www.msys2.org/docs/environments/) that is used in the `msys2` command/shell provided by this action.
MSYS2 recommends `UCRT64` nowadays as the default instead of `MINGW64`.
For example:
```yaml
- useExcerpt of 9,162 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:52fe970470c90e80, topic:workflow