Skip to content

work and idfc

work and idfc #14

Workflow file for this run

name: build
on:
workflow_dispatch:
push:
branches:
- nuu
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
compiler: [{ cc: gcc, cxx: g++ }, { cc: clang, cxx: clang++ }]
build_type: [Release]
binary: [linux-binary]
output: [build/ComputerGraph]
include:
- os: windows-latest
build_type: Release
binary: windows-binary
output: build/Release/ComputerGraph.exe
steps:
- if: matrix.os == 'ubuntu-latest'
name: Installing Dependencies
run: |
sudo apt-get update
sudo apt-get -y install ${{ matrix.compiler.cc }} cmake ninja-build libglu1-mesa-dev mesa-common-dev xorg-dev
- name: Checkout Repository
uses: actions/checkout@v3
with:
submodules: recursive
# Only run checks on Linux because Windows command line is trash
# - if: matrix.os == 'ubuntu-latest'
# name: Checking Formatting
# run: |
# find src/ include/ -name "*.*" -print0 | xargs -0 clang-format --dry-run --Werror --ferror-limit=15
- name: Building Project
if: matrix.os == 'ubuntu-latest'
env:
CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }}
run: |
cmake -B build -G "Ninja" -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
cmake --build build
- name: Building Project
if: matrix.os == 'windows-latest'
run: |
cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
cmake --build build --target ComputerGraph --config ${{ matrix.build_type }}
- name: Uploading Binary
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.binary }}
path: ${{ matrix.output }}