uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3
c:
- name: 'C'
- runs-on: ubuntu-latest
+ name: 'C (${{ matrix.build.name }})'
+ runs-on: ${{ matrix.build.image }}
permissions:
security-events: write # To create/update security events
+ strategy:
+ fail-fast: false
+ matrix:
+ build:
+ - name: 'Linux'
+ image: ubuntu-latest
+ - name: 'Windows'
+ image: windows-2022
+ env:
+ MATRIX_IMAGE: '${{ matrix.build.image }}'
steps:
- name: 'install prereqs'
+ if: ${{ contains(matrix.build.image, 'ubuntu') }}
timeout-minutes: 5
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
- name: 'build'
timeout-minutes: 10
+ shell: bash
run: |
- cmake -B . -G Ninja
- cmake --build . --verbose
- src/curl -V
+ if [[ "${MATRIX_IMAGE}" = *'windows'* ]]; then
+ cmake -B . -DBUILD_SHARED_LIBS=OFF \
+ -DCMAKE_VS_GLOBALS=TrackFileAccess=false \
+ -DCURL_USE_SCHANNEL=ON -DCURL_USE_LIBPSL=OFF -DUSE_WIN32_IDN=ON
+ cmake --build . --verbose
+ src/Debug/curl.exe --disable --version
+ else
+ cmake -B . -G Ninja
+ cmake --build . --verbose
+ src/curl --disable --version
+ fi
- name: 'perform analysis'
uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3