https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e9cef3f216ec55b5a819a2046807f2c72b7fc625

commit e9cef3f216ec55b5a819a2046807f2c72b7fc625
Author:     Jérôme Gardou <jerome.gar...@reactos.org>
AuthorDate: Mon May 3 15:48:53 2021 +0200
Commit:     Jérôme Gardou <zefk...@users.noreply.github.com>
CommitDate: Mon May 3 22:00:57 2021 +0200

    [GITHUB] Add clang-cl amd64 build to CI
    
    As before, use a matrix for Ninja+Msvc build
---
 .github/workflows/build.yml | 122 ++++++++++++--------------------------------
 1 file changed, 32 insertions(+), 90 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 31af335b11a..15e8a156f97 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -76,116 +76,58 @@ jobs:
         name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{github.sha}}
         path: build/livecd.iso
 
-  build-clang-cl-i386:
-    name: Clang-CL (i386)
+  build-msvc:
+    strategy:
+      matrix:
+        compiler: [msvc, clang-cl]
+        arch: [i386, amd64]
+      fail-fast: false
     runs-on: windows-latest
     steps:
-    - name: Install packages
+    - name: Install ninja
+      run: choco install -y ninja
+    - name: Install LLVM (x86)
+      if: ${{ (matrix.compiler == 'clang-cl') && (matrix.arch == 'i386') }}
       run: |
-        choco install ninja -y
         choco install --x86 -y llvm
-    - name: Install Flex and Bison
+        echo "LLVM_PATH=${env:PROGRAMFILES(X86)}\llvm\bin" | Out-File 
-FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+    - name: Install LLVM (amd64)
+      if: ${{ (matrix.compiler == 'clang-cl') && (matrix.arch == 'amd64') }}
       run: |
-        curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
-        7z x flexbison.7z -O${{github.workspace}}\bin
-        echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH 
-Encoding utf8 -Append
-        echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | 
Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
-        echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath 
$env:GITHUB_ENV -Encoding utf8 -Append
-    - name: Add CL to PATH
-      uses: ilammy/msvc-dev-cmd@v1
-      with:
-        arch: amd64_x86
-    - uses: actions/checkout@v2
-      with:
-        path: src
-    - name: Configure
-      run: |
-        mkdir build
-        cd build
-        $env:PATH = "${env:PROGRAMFILES(X86)}\llvm\bin;$env:PATH"
-        cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake 
-DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=1 
${{github.workspace}}\src
-    - name: Build
-      working-directory: ${{github.workspace}}\build
-      run: cmake --build .
-    - name: Generate ISOs
-      working-directory: ${{github.workspace}}\build
-      run: |
-        cmake --build . --target bootcd
-        cmake --build . --target livecd
-
-  build-msvc-i386:
-    name: MSVC (i386)
-    runs-on: windows-latest
-    steps:
-    - name: Install packages
-      run: choco install ninja -y
-    - name: Install Flex and Bison
+        choco install -y llvm
+        echo "LLVM_PATH=${env:PROGRAMFILES}\llvm\bin" | Out-File -FilePath 
$env:GITHUB_ENV -Encoding utf8 -Append
+    - name: Install Flex & Bison
       run: |
         curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
         7z x flexbison.7z -O${{github.workspace}}\bin
         echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH 
-Encoding utf8 -Append
         echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | 
Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
         echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath 
$env:GITHUB_ENV -Encoding utf8 -Append
-    - name: Add CL to PATH
+    - name: Activate VS cmd (x86)
+      if: ${{ matrix.arch == 'i386' }}
       uses: ilammy/msvc-dev-cmd@v1
       with:
         arch: amd64_x86
-    - uses: actions/checkout@v2
-      with:
-        path: src
-    - name: Configure
-      run: |
-        mkdir build
-        cd build
-        cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake 
-DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 
${{github.workspace}}\src
-    - name: Build
-      working-directory: ${{github.workspace}}\build
-      run: cmake --build .
-    - name: Generate ISOs
-      working-directory: ${{github.workspace}}\build
-      run: |
-        cmake --build . --target bootcd
-        cmake --build . --target livecd
-    - name: Upload bootcd
-      uses: actions/upload-artifact@v2
-      with:
-        name: reactos-msvc-i386-${{github.sha}}
-        path: build/bootcd.iso
-    - name: Upload livecd
-      uses: actions/upload-artifact@v2
-      with:
-        name: reactos-msvc-i386-${{github.sha}}
-        path: build/livecd.iso
-
-  build-msvc-amd64:
-    name: MSVC (amd64)
-    runs-on: windows-latest
-    steps:
-    - name: Install packages
-      run: choco install ninja -y
-    - name: Install Flex and Bison
-      run: |
-        curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
-        7z x flexbison.7z -O${{github.workspace}}\bin
-        echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH 
-Encoding utf8 -Append
-        echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | 
Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
-        echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath 
$env:GITHUB_ENV -Encoding utf8 -Append
-    - name: Add CL to PATH
+    - name: Activate VS cmd (amd64)
+      if: ${{ matrix.arch == 'amd64' }}
       uses: ilammy/msvc-dev-cmd@v1
       with:
         arch: amd64
-    - uses: actions/checkout@v2
+    - name: Add LLVM to PATH
+      if: ${{ matrix.compiler == 'clang-cl' }}
+      run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH 
-Encoding utf8 -Append
+    - name: Source checkout
+      uses: actions/checkout@v2
       with:
         path: src
+    - name: Create Build directory
+      run: mkdir build
     - name: Configure
-      run: |
-        mkdir build
-        cd build
-        cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake 
-DARCH:STRING=amd64 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 
${{github.workspace}}\src
+      working-directory: ${{github.workspace}}\build
+      run: cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake 
-DARCH:STRING=${{matrix.arch}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 
-DUSE_CLANG_CL:BOOL=${{matrix.compiler == 'clang-cl'}} ${{github.workspace}}\src
     - name: Build
       working-directory: ${{github.workspace}}\build
-      run: |
-        cmake --build .
+      run: cmake --build .
     - name: Generate ISOs
       working-directory: ${{github.workspace}}\build
       run: |
@@ -194,12 +136,12 @@ jobs:
     - name: Upload bootcd
       uses: actions/upload-artifact@v2
       with:
-        name: reactos-msvc-amd64-${{github.sha}}
+        name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{github.sha}}
         path: build/bootcd.iso
     - name: Upload livecd
       uses: actions/upload-artifact@v2
       with:
-        name: reactos-msvc-amd64-${{github.sha}}
+        name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{github.sha}}
         path: build/livecd.iso
 
   build-msbuild-i386:

Reply via email to