5050 {name: ubuntu, vmaj: 20, vmin: '04'},
5151 {name: ubuntu, vmaj: 22, vmin: '04'},
5252 {name: ubuntu, vmaj: 24, vmin: '04'},
53- {name: ubuntu, vmaj: 24, vmin: '10'},
5453 {name: sles, vmaj: 15, vmin: 2},
5554 {name: sles, vmaj: 15, vmin: 3},
5655 {name: sles, vmaj: 15, vmin: 4},
@@ -104,30 +103,57 @@ jobs:
104103 - name : Compute image name
105104 run : echo "DOCKER_IMAGE=localhost/${{ github.repository }}/${{ steps.const.outputs.os-string }}" >> ${GITHUB_ENV}
106105 - name : " Registry login: ghcr.io"
106+ if : matrix.os.name != 'windows'
107107 run : |
108108 echo ${{ secrets.GITHUB_TOKEN }} |
109109 docker login -u sys-lzdev --password-stdin ghcr.io
110+ - name : Verify Docker configuration
111+ if : matrix.os.name != 'windows'
112+ run : |
113+ docker version
114+ docker info
110115 - name : Build image
116+ if : matrix.os.name != 'windows'
111117 run : |
112118 docker info
113119 docker build \
114- ${{ runner.os == 'Windows' && ' \
115- --memory 16G ' || ' '
116- }}\
120+ --platform linux/amd64 \
117121 ${{ matrix.os.vmaj != '' && format(' \
118122 --build-arg VMAJ={0} \
119123 --build-arg VMIN={1} ', matrix.os.vmaj, matrix.os.vmin) || ' '
120124 }}\
121125 --pull \
122126 --tag ${DOCKER_IMAGE}:${{ needs.config.outputs.ref-slug }} \
123127 - < .github/docker/${{ matrix.os.name }}.Dockerfile
124- - name : Build
128+ - name : Setup Windows build environment
129+ if : matrix.os.name == 'windows'
130+ uses : ilammy/msvc-dev-cmd@v1
131+ with :
132+ arch : x64
133+ - name : Build (Windows)
134+ if : matrix.os.name == 'windows'
135+ run : |
136+ mkdir build
137+ cd build
138+ cmake `
139+ -G "Visual Studio 17 2022" `
140+ -A x64 `
141+ -D CMAKE_BUILD_TYPE=Release `
142+ -D CMAKE_INSTALL_PREFIX="${{ matrix.target == 'install' && '../level-zero-install' || matrix.target == 'package' && 'C:/Program Files' || '' }}" `
143+ -D CPACK_OUTPUT_FILE_PREFIX="${{ github.workspace }}/level-zero-package" `
144+ ..
145+ cmake --build . --config Release --target ${{ matrix.target }}
146+ shell : powershell
147+ - name : Build (Linux)
148+ if : matrix.os.name != 'windows'
125149 id : build
126150 run : |
127151 mkdir build
152+ # Container-based build for Linux
128153 docker run \
129154 --rm \
130155 --interactive \
156+ --platform linux/amd64 \
131157 -v '${{ github.workspace }}':${MOUNT_TARGET} \
132158 -w ${MOUNT_TARGET}/build \
133159 -e CCACHE_BASEDIR=${MOUNT_TARGET} \
@@ -137,9 +163,7 @@ jobs:
137163 bash -e -x <<-EOF
138164
139165 cmake \
140- ${{ matrix.os.name != 'windows' && ' \
141- -G Ninja ' || ' '
142- }}\
166+ -G Ninja \
143167 ${{ matrix.arch == 'arm64' && ' \
144168 -D CMAKE_C_COMPILER=aarch64-linux-gnu-gcc \
145169 -D CMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \
@@ -152,7 +176,7 @@ jobs:
152176 -D CPACK_OUTPUT_FILE_PREFIX=${MOUNT_TARGET}/level-zero-package \
153177 ..
154178
155- cmake --build . ${PARALLEL} --target ${{ matrix.target }} ${{ matrix.os.name == 'windows' && '--config Release' || '' }}
179+ cmake --build . ${PARALLEL} --target ${{ matrix.target }}
156180
157181 ccache --show-stats
158182
0 commit comments