Skip to content

Adding msys2-based windows workflow #90

Adding msys2-based windows workflow

Adding msys2-based windows workflow #90

Workflow file for this run

# SPDX-FileCopyrightText: 2025 Ledger SAS
# SPDX-License-Identifier: Apache-2.0
name: Sentry kernel build on Windows
on:
workflow_dispatch:
push:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# using /home/build as home, as buildbot is using user build. Cache is still in /cache
# This allows the usage of automated ssh key installation step
jobs:
build:
name: build
defaults:
run:
shell: bash
runs-on: windows-latest
steps:
- name: XXX git permission quirk XXX
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
set-safe-directory: true
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Clone cross-files
uses: actions/checkout@v4
with:
ref: 'main'
repository: 'outpost-os/meson-cross-files'
path: crossfiles
- name: install prerequisites pkg
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
base-devel
git
wget
curl
dtc
libssh2
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@v1
with:
toolchain: nightly
targets: thumbv7m-none-eabi,thumbv7em-none-eabi,thumbv7em-none-eabihf
components: clippy,rustfmt
- name: Setup C toolchain
uses: outpost-os/action-setup-compiler@v1
with:
compiler: gcc
triple: arm-none-eabi
ref: 13.2.Rel1
workspace: $GITHUB_WORKSPACE
- name: deploy local deps
run: |
pip install -r requirements.txt
- run: |
f = open("native.ini", "a")
f.writelines([
"[constants]\r\n",
"cross_toolchain = ${env.TOOLCHAIN_PATH}/../"
])
shell: python
- name: defconfig
run: |
defconfig configs/nucleo_u5a5_autotest_defconfig
- name: Meson Build
uses: outpost-os/action-meson@v1
with:
cross_files: "${{ format('{0}/{1}', env.MESON_CROSS_FILES, 'arm-none-eabi-gcc.ini') }} native.ini"
actions: '["prefetch", "setup", "compile"]'
options: '-Dconfig=.config -Ddts=dts/examples/$nucleo_u5a5_autotest.dts -Ddts-include-dirs=dts'
- name: Meson postcheck
if: failure()
run: |
cat builddir/meson-logs/meson-log.txt