Skip to content
This repository was archived by the owner on Feb 21, 2026. It is now read-only.

Commit 94e32ca

Browse files
committed
misc: Added Windows-based CI using GHA and MSYS2
1 parent e60d79b commit 94e32ca

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

.github/workflows/build-windows.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,68 @@ jobs:
6262
files: codecov.json
6363
fail_ci_if_error: true
6464
token: ${{ secrets.CODECOV_TOKEN }}
65+
66+
build-mingw:
67+
name: '${{ matrix.os }} (${{ matrix.sys }})'
68+
runs-on: ${{ matrix.os }}
69+
defaults:
70+
run:
71+
shell: msys2 {0}
72+
strategy:
73+
matrix:
74+
os:
75+
- windows-2019
76+
- windows-2022
77+
sys:
78+
# - mingw64
79+
- ucrt64
80+
- clang64
81+
fail-fast: false
82+
steps:
83+
- name: Use MinGW from MSYS
84+
uses: msys2/setup-msys2@v2
85+
with:
86+
msystem: ${{ matrix.sys }}
87+
update: true
88+
path-type: inherit
89+
pacboy: >-
90+
toolchain:p
91+
rustup:p
92+
- name: Runtime environment
93+
env:
94+
WORKSPACE: ${{ github.workspace }}
95+
run: |
96+
echo "$HOME/.cargo/bin:$HOME/.local/bin" >> $GITHUB_PATH
97+
echo "GITHUB_WORKSPACE=`pwd`" >> $GITHUB_ENV
98+
- name: Checkout bmputil
99+
uses: actions/checkout@v5
100+
with:
101+
lfs: true
102+
submodules: true
103+
- name: Setup Rust
104+
run: |
105+
rustup toolchain install stable-x86_64-pc-windows-msvc
106+
rustup toolchain install stable-aarch64-pc-windows-msvc
107+
rustup default stable-x86_64-pc-windows-msvc
108+
- name: Install cargo-llvm-cov
109+
uses: taiki-e/install-action@v2
110+
with:
111+
tool: cargo-llvm-cov
112+
- name: Version tools
113+
run: |
114+
cargo --version
115+
rustc --version
116+
cargo llvm-cov --version
117+
- name: Build
118+
run: cargo b
119+
- name: Test
120+
run: cargo t
121+
- name: Collect code coverage
122+
run: cargo llvm-cov --all-features --workspace --codecov --output-path codecov.json
123+
- name: Codecov
124+
if: success() && github.repository == 'blackmagic-debug/bmputil'
125+
uses: codecov/codecov-action@v3
126+
with:
127+
files: codecov.json
128+
fail_ci_if_error: true
129+
token: ${{ secrets.CODECOV_TOKEN }}

0 commit comments

Comments
 (0)