mirror of
https://github.com/vosen/ZLUDA.git
synced 2025-07-25 13:16:23 +03:00
78 lines
2.4 KiB
YAML
78 lines
2.4 KiB
YAML
name: CI-Build
|
|
|
|
env:
|
|
# Turn on msvc analysis during build, enable once warnings are clean.
|
|
DETOURS_ANALYZE: true
|
|
|
|
# Compile in parallel where possible.
|
|
CL: /MP
|
|
|
|
# Triggers the workflow on push or pull request events for the master branch.
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [windows-2019, windows-2016]
|
|
arch: [x86, x64, x64_arm, x64_arm64]
|
|
|
|
steps:
|
|
- name: Clone Repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
# Must fetch at least the immediate parents so that if this is
|
|
# a pull request then we can checkout the head of the pull request.
|
|
# Only include this option if you are running this workflow on pull requests.
|
|
fetch-depth: 2
|
|
|
|
# If this run was triggered by a pull request event then checkout
|
|
# the head of the pull request instead of the merge commit.
|
|
# Only include this step if you are running this workflow on pull requests.
|
|
- name: Checkout head of the pull request
|
|
run: git checkout HEAD^2
|
|
if: ${{ github.event_name == 'pull_request' }}
|
|
|
|
# Setup build environment variables using vcvarsall.bat.
|
|
- name: Configure MSCV Compiler for ${{ matrix.arch }}
|
|
uses: ilammy/msvc-dev-cmd@v1.4.1
|
|
with:
|
|
arch: ${{ matrix.arch }}
|
|
|
|
- name: Initialize CodeQL for C++
|
|
uses: github/codeql-action/init@v1
|
|
if: ${{ matrix.os == 'windows-2019' }}
|
|
with:
|
|
languages: cpp
|
|
config-file: ./.github/codeql/codeql-config.yml
|
|
|
|
- name: Build Detours for ${{ matrix.arch }} on ${{ matrix.os }}
|
|
env:
|
|
# Tell detours what process to target
|
|
DETOURS_TARGET_PROCESSOR: ${{ env.VSCMD_ARG_TGT_ARCH }}
|
|
run: nmake
|
|
|
|
- name: Run unit tests for ${{ matrix.arch }} on ${{ matrix.os }}
|
|
id: run-unit-tests
|
|
run: cd tests && nmake test
|
|
if: ${{ matrix.arch == 'x86' || matrix.arch == 'x64' }}
|
|
|
|
- name: Upload artifacts for ${{ matrix.arch }} on ${{ matrix.os }}
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: artifacts-${{ matrix.os }}
|
|
path: |
|
|
lib.*/
|
|
bin.*/
|
|
include/
|
|
|
|
- name: Perform CodeQL Analysis
|
|
uses: github/codeql-action/analyze@v1
|
|
if: ${{ matrix.os == 'windows-2019' }}
|