Skip to content

ci: windows: requires msys2 shell for action-meson #68

ci: windows: requires msys2 shell for action-meson

ci: windows: requires msys2 shell for action-meson #68

Workflow file for this run

name: Sentry kernel build on Windows
on:
workflow_dispatch:
push:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
MSYSTEM: MINGW64
# 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_u5_w10:
defaults:
run:
shell: msys2 {0}
runs-on: windows-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
set-safe-directory: true
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
base-devel
dtc
libssh2
curl
bash
git
mercurial
cmake
unzip
python-brotli
mingw-w64-x86_64-srecord
mingw-w64-x86_64-cmake
mingw-w64-x86_64-glib2
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-ninja
mingw-w64-x86_64-pkg-config
mingw-w64-x86_64-gcc
mingw-w64-x86_64-pdcurses
mingw-w64-x86_64-swig
mingw-w64-x86_64-python
mingw-w64-x86_64-python-setuptools
mingw-w64-x86_64-python-pip
mingw-w64-x86_64-python-fastjsonschema
mingw-w64-x86_64-python-cffi
mingw-w64-x86_64-python-lxml
mingw-w64-x86_64-python-pillow
mingw-w64-x86_64-python-types-pyyaml
mingw-w64-x86_64-python-libsass
mingw-w64-x86_64-libjpeg-turbo
mingw-w64-x86_64-python-lief
mingw-w64-x86_64-objfw
mingw-w64-x86_64-meson
mingw-w64-x86_64-meson-python
env:
MSYS2_ARCH: x86_64
MSYS2_CURSES: pdcurses
COMPILER: gcc
TOOLCHAIN: toolchain
- name: Install local dependencies
run: |
python3 -m pip --disable-pip-version-check install -r requirements.txt
env:
MSYS2_ARCH: x86_64
MSYS2_CURSES: pdcurses
COMPILER: gcc
TOOLCHAIN: toolchain
- run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y
- name: Clone cross-files
uses: actions/checkout@v4
with:
ref: 'using-local-dirs'
repository: 'outpost-os/meson-cross-files'
path: crossfiles
- name: Deploy cross-files
run: |
echo "MESON_CROSS_FILES=$GITHUB_WORKSPACE\crossfiles" >> $GITHUB_ENV
- 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@use-local-dir
with:
compiler: gcc
triple: arm-none-eabi
ref: 13.2.Rel1
- name: set safe dir for dunami (to be removed)
run: |
git config --global --add safe.directory '*'
- name: defconfig
run: |
defconfig configs/nucleo_u5a5_autotest_defconfig
- name: Meson Build
run: |
meson subprojects download || true
meson subprojects foreach python3 -m pip install -r requirements.txt || true
meson setup -Dconfig=.config -Ddts=dts/examples/nucleo_u5a5_autotest.dts -Ddts-include-dirs=dts --cross-file crossfiles/mingw64-arm-none-eabi-gcc.ini builddir
ninja -C builddir
ninja -C builddir test
ninja -C builddir coverage
ninja -C builddir install
meson dist --no-tests --include-subprojects
env:
MSYS2_ARCH: x86_64
MSYS2_CURSES: pdcurses
COMPILER: gcc
TOOLCHAIN: toolchain
- name: Meson postcheck
if: failure()
run: |
cat builddir/meson-logs/meson-log.txt