Skip to content

Release 0.10.0

Release 0.10.0 #4

Workflow file for this run

name: Tests and Package Windows
on:
push:
branches:
- master
- dev-next
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
strategy:
matrix:
include:
- QBDI_ARCH: 'X86_64'
WINDOWS_ARCH: 'x64'
- QBDI_ARCH: 'X86'
WINDOWS_ARCH: 'x86'
fail-fast: false
env:
QBDI_PLATFORM: 'windows'
SCCACHE_CACHE_SIZE: "1G"
SCCACHE_DIR: "C:\\Users\\runner\\AppData\\Local\\Mozilla\\sccache"
steps:
- name: Install system dependencies
run: |
choco install sccache
- name: checkout
uses: actions/checkout@v3
- name: Cache sccache
uses: actions/cache@v3
id: cache-sccache
with:
path: |
${{ env.SCCACHE_DIR }}
key: sccache-win-${{ matrix.QBDI_ARCH }}-${{ hashFiles('.github/workflows/ccache.conf') }}-${{ github.run_number }}
restore-keys: |
sccache-win-${{ matrix.QBDI_ARCH }}-${{ hashFiles('.github/workflows/ccache.conf') }}-
- name: Create sccache directory
if: steps.cache-sccache.outputs.cache-hit != 'true'
shell: powershell
run: |
If(!(test-path -PathType container ${env:SCCACHE_DIR}))
{
New-Item -ItemType Directory -Path ${env:SCCACHE_DIR}
}
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.WINDOWS_ARCH }}
- name: Start sccache server
run: sccache --start-server
- name: Cache third-party
uses: actions/cache@v3
with:
path: |
third-party
key: QBDI-third-party-${{ hashFiles('**/CMakeLists.txt') }}-${{ hashFiles('**/*.cmake') }}
- run: mkdir build
- name: Configure
working-directory: .\build
run: cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CROSSCOMPILING=FALSE -DQBDI_PLATFORM=${{ env.QBDI_PLATFORM }} -DQBDI_ARCH=${{ matrix.QBDI_ARCH }} -DQBDI_TOOLS_VALIDATOR=OFF -DQBDI_TOOLS_PYQBDI=OFF -DQBDI_EXAMPLES=ON ..
- name: build QBDI
working-directory: .\build
run: ninja
- name: package QBDI
working-directory: .\build
run: cpack
- name: test QBDI
working-directory: .\build\test
run: |
.\QBDITest
- name: Export package
uses: actions/upload-artifact@v3
with:
name: package_Windows_${{ matrix.WINDOWS_ARCH }}
path: build/QBDI-*.exe
- name: Stop sccache server
run: sccache --stop-server