-
Notifications
You must be signed in to change notification settings - Fork 3
129 lines (123 loc) · 3.91 KB
/
msys2.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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
uses: outpost-os/action-meson@support-custom-pip-bin-name
with:
cross_files: ${{ format('{0}\{1}', env.MESON_CROSS_FILES, 'mingw64-arm-none-eabi-gcc.ini') }}
actions: '["prefetch", "setup", "compile"]'
options: '-Dconfig=.config -Ddts=dts/examples/nucleo_u5a5_autotest.dts -Ddts-include-dirs=dts'
pip: 'python3 -m pip'
shell: 'msys2 {0}'
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