Add support for Linux userland ELF snapshots and fuzzing #387
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Builds | |
on: [push, pull_request] | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
jobs: | |
Windows: | |
runs-on: windows-2019 | |
strategy: | |
fail-fast: false | |
matrix: | |
generator: ['ninja', 'msvc'] | |
name: Windows latest / ${{ matrix.generator }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1 | |
- name: Setup vs prompt | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Initialize CodeQL | |
if: matrix.generator == 'msvc' | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: cpp | |
- name: Build with Ninja/cl | |
if: matrix.generator == 'ninja' | |
run: | | |
cd src\build | |
.\build-release.bat | |
- name: Build with msvc | |
if: matrix.generator == 'msvc' | |
run: | | |
cd src\build | |
.\build-release-msvc.bat | |
- name: Perform CodeQL Analysis | |
if: matrix.generator == 'msvc' | |
uses: github/codeql-action/analyze@v2 | |
- name: Copy dbghelp/symsrv | |
if: matrix.generator == 'ninja' | |
run: | | |
copy "c:\program Files (x86)\windows kits\10\debuggers\x64\dbghelp.dll" src/build | |
copy "c:\program Files (x86)\windows kits\10\debuggers\x64\dbgeng.dll" src/build | |
copy "c:\program Files (x86)\windows kits\10\debuggers\x64\dbgcore.dll" src/build | |
copy "c:\program Files (x86)\windows kits\10\debuggers\x64\symsrv.dll" src/build | |
- name: Upload artifacts | |
if: matrix.generator == 'ninja' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bin-win64.RelWithDebInfo | |
path: | | |
src/build/wtf.exe | |
src/build/wtf.pdb | |
src/build/dbghelp.dll | |
src/build/dbgeng.dll | |
src/build/dbgcore.dll | |
src/build/symsrv.dll | |
Linux: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: ['clang', 'gcc'] | |
name: Ubuntu latest / ${{ matrix.compiler }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: cpp | |
- name: Installing dependencies | |
run: | | |
sudo apt-get -y update | |
sudo apt install -y g++-10 ninja-build | |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" | |
- name: Build with gcc | |
if: matrix.compiler == 'gcc' | |
env: | |
CC: gcc-10 | |
CXX: g++-10 | |
run: | | |
cd src/build | |
chmod u+x ./build-release.sh | |
./build-release.sh | |
- name: Build with clang | |
if: matrix.compiler == 'clang' | |
env: | |
CC: clang-18 | |
CXX: clang++-18 | |
run: | | |
cd src/build | |
chmod u+x ./build-release.sh | |
./build-release.sh | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v2 | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bin-lin64-${{ matrix.compiler }}.Release | |
path: | | |
src/build/wtf |