Skip to content

Commit 7927332

Browse files
committed
[GITHUB] Do ARM build only; Build bootvid
1 parent 0db7879 commit 7927332

File tree

1 file changed

+4
-226
lines changed

1 file changed

+4
-226
lines changed

.github/workflows/build.yml

Lines changed: 4 additions & 226 deletions
Original file line numberDiff line numberDiff line change
@@ -2,151 +2,11 @@ name: Build
22
on: [push, pull_request]
33

44
jobs:
5-
build-linux:
6-
strategy:
7-
matrix:
8-
compiler: [gcc, clang]
9-
arch: [i386, amd64]
10-
config: [Debug, Release]
11-
dllver: ['0x502', '0x600']
12-
exclude:
13-
- dllver: 0x600
14-
compiler: clang
15-
- dllver: 0x600
16-
config: Release
17-
fail-fast: false
18-
runs-on: ubuntu-22.04
19-
steps:
20-
- name: Get RosBE build specifics
21-
id: get_rosbe_spec
22-
run: |
23-
gcc -march=native -Q --help=target | grep "\-march= " | awk '{print $NF}'
24-
echo march-sha=$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}') >> $GITHUB_OUTPUT
25-
echo git-sha=$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}') >> $GITHUB_OUTPUT
26-
wget https://gist.githubusercontent.com/zefklop/b2d6a0b470c70183e93d5285a03f5899/raw/build_rosbe_ci.sh
27-
- name: Get RosBE
28-
id: get_rosbe
29-
uses: actions/cache@v4
30-
with:
31-
path: RosBE-CI
32-
key: RosBE-CI-${{runner.os}}-${{steps.get_rosbe_spec.outputs.march-sha}}-${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}
33-
- name: Compile RosBE
34-
if: ${{ steps.get_rosbe.outputs.cache-hit != 'true' }}
35-
run: |
36-
chmod +x build_rosbe_ci.sh
37-
./build_rosbe_ci.sh ${{github.workspace}}/RosBE-CI
38-
- name: Install ccache
39-
run: sudo apt install ccache
40-
- name: Install LLVM
41-
if: ${{ matrix.compiler == 'clang' }}
42-
run: |
43-
export LLVM_VERSION=13
44-
wget https://apt.llvm.org/llvm.sh
45-
chmod +x llvm.sh
46-
sudo ./llvm.sh $LLVM_VERSION
47-
echo "D_CLANG_VERSION=-DCLANG_VERSION=$LLVM_VERSION" >> $GITHUB_ENV
48-
- name: Source checkout
49-
uses: actions/checkout@v4
50-
with:
51-
path: src
52-
- name: Set up cache for ccache
53-
uses: actions/cache@v4
54-
with:
55-
path: ccache
56-
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
57-
restore-keys: |
58-
ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-
59-
- name: Set ccache settings
60-
run: |
61-
echo "CCACHE_BASEDIR=${{github.workspace}}" >> $GITHUB_ENV
62-
echo "CCACHE_DIR=${{github.workspace}}/ccache" >> $GITHUB_ENV
63-
echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV
64-
echo "CCACHE_SLOPPINESS=time_macros" >> $GITHUB_ENV
65-
- name: Ease ccache compiler check (GCC)
66-
if: ${{ matrix.compiler == 'gcc' }}
67-
run: echo "CCACHE_COMPILERCHECK=string:${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}" >> $GITHUB_ENV
68-
- name: Configure
69-
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DDLL_EXPORT_VERSION=${{matrix.dllver}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
70-
- name: Build
71-
run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
72-
- name: Generate ISOs
73-
run: echo 'cmake --build ${{github.workspace}}/build --target bootcd --target livecd' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
74-
- name: Print ccache statistics
75-
run: ccache -s
76-
- name: Upload ISOs
77-
uses: actions/upload-artifact@v4
78-
with:
79-
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
80-
path: |
81-
build/bootcd.iso
82-
build/livecd.iso
83-
84-
build-msvc:
85-
strategy:
86-
matrix:
87-
os: [windows-latest]
88-
toolset: ['14','14.2'] # VS 2022, and 2019 (see below)
89-
arch: [i386, amd64]
90-
config: [Debug, Release]
91-
dllver: ['0x502', '0x600']
92-
exclude: # Build NT6 ISOs only with the latest toolset when compiled as a debug build
93-
- dllver: 0x600
94-
toolset: 14.2
95-
- dllver: 0x600
96-
config: Release
97-
fail-fast: false
98-
runs-on: ${{matrix.os}}
99-
steps:
100-
- name: Install ninja
101-
run: choco install -y ninja
102-
- name: Install Flex & Bison
103-
run: |
104-
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
105-
7z x flexbison.7z -O${{github.workspace}}\bin
106-
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
107-
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
108-
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
109-
- name: Activate VS cmd (x86)
110-
if: ${{ matrix.arch == 'i386' }}
111-
uses: ilammy/msvc-dev-cmd@v1
112-
with:
113-
arch: amd64_x86
114-
toolset: ${{matrix.toolset}}
115-
- name: Activate VS cmd (amd64)
116-
if: ${{ matrix.arch == 'amd64' }}
117-
uses: ilammy/msvc-dev-cmd@v1
118-
with:
119-
arch: amd64
120-
toolset: ${{matrix.toolset}}
121-
- name: Source checkout
122-
uses: actions/checkout@v4
123-
with:
124-
path: src
125-
- name: Configure
126-
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DDLL_EXPORT_VERSION=${{matrix.dllver}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
127-
- name: Build
128-
run: cmake --build build -- -k0
129-
- name: Generate ISOs
130-
run: cmake --build build --target bootcd --target livecd
131-
- name: Upload ISOs
132-
uses: actions/upload-artifact@v4
133-
with:
134-
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
135-
path: |
136-
build/bootcd.iso
137-
build/livecd.iso
138-
- name: Upload debug symbols
139-
if: ${{ matrix.config == 'Debug' }}
140-
uses: actions/upload-artifact@v4
141-
with:
142-
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
143-
path: build/msvc_pdb
144-
1455
build-msvc-arm:
1466
strategy:
1477
matrix:
1488
toolset: ['14','14.2'] # VS 2022, 2019
149-
arch: [arm, arm64]
9+
arch: [arm]
15010
config: [Debug, Release]
15111
fail-fast: false
15212
runs-on: windows-latest
@@ -191,6 +51,9 @@ jobs:
19151
- name: Build subsystems
19252
if: ${{ matrix.arch == 'arm' }}
19353
run: cmake --build build --target subsystems/all
54+
- name: Build bootvid
55+
if: ${{ matrix.arch == 'arm' }}
56+
run: cmake --build build --target drivers/base/bootvid
19457
- name: Build some applications (arm64)
19558
if: ${{ matrix.arch == 'arm64' }}
19659
run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
@@ -223,88 +86,3 @@ jobs:
22386
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
22487
path: build/msvc_pdb
22588

226-
# FIXME: Does not boot on toolset 14.1, 14.3+ is untested
227-
build-clang-cl:
228-
strategy:
229-
matrix:
230-
arch: [i386, amd64]
231-
config: [Debug, Release]
232-
fail-fast: false
233-
runs-on: windows-latest
234-
steps:
235-
- name: Install ninja
236-
run: choco install -y ninja
237-
- name: Install LLVM
238-
run: |
239-
choco install -y --allow-downgrade llvm --version 13.0.1
240-
echo "LLVM_PATH=${env:PROGRAMFILES}\llvm\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
241-
- name: Install Flex & Bison
242-
run: |
243-
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
244-
7z x flexbison.7z -O${{github.workspace}}\bin
245-
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
246-
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
247-
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
248-
- name: Activate VS cmd (x86)
249-
if: ${{ matrix.arch == 'i386' }}
250-
uses: ilammy/msvc-dev-cmd@v1
251-
with:
252-
arch: amd64_x86
253-
toolset: '14'
254-
- name: Activate VS cmd (amd64)
255-
if: ${{ matrix.arch == 'amd64' }}
256-
uses: ilammy/msvc-dev-cmd@v1
257-
with:
258-
arch: amd64
259-
toolset: '14'
260-
- name: Add LLVM to PATH
261-
run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
262-
- name: Source checkout
263-
uses: actions/checkout@v4
264-
with:
265-
path: src
266-
- name: Configure
267-
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=TRUE
268-
- name: Build
269-
run: cmake --build build -- -k0
270-
- name: Generate ISOs
271-
run: cmake --build build --target bootcd --target livecd
272-
- name: Upload ISOs
273-
uses: actions/upload-artifact@v4
274-
with:
275-
name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
276-
path: |
277-
build/bootcd.iso
278-
build/livecd.iso
279-
- name: Upload debug symbols
280-
if: ${{ matrix.config == 'Debug' }}
281-
uses: actions/upload-artifact@v4
282-
with:
283-
name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
284-
path: build/msvc_pdb
285-
286-
build-msbuild-i386:
287-
name: MSBuild (i386)
288-
runs-on: windows-latest
289-
steps:
290-
- name: Install Flex and Bison
291-
run: |
292-
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
293-
7z x flexbison.7z -O${{github.workspace}}\bin
294-
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
295-
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
296-
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
297-
- name: Add CL to PATH
298-
uses: ilammy/msvc-dev-cmd@v1
299-
with:
300-
arch: amd64_x86
301-
- uses: actions/checkout@v4
302-
with:
303-
path: src
304-
- name: Configure
305-
run: |
306-
mkdir build
307-
cd build
308-
cmake -G "Visual Studio 17 2022" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
309-
- name: Build
310-
run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd

0 commit comments

Comments
 (0)