Skip to content

Build

Build #610

Workflow file for this run

name: Build
on:
push:
paths-ignore:
- '.github/resources/**'
- '**.md'
- '**.txt'
pull_request:
branches: [ main ]
paths-ignore:
- '.github/resources/**'
- '**.md'
- '**.txt'
schedule:
- cron: '23 17 * * 3'
jobs:
windows_build:
name: Build for Windows-${{matrix.BUILD_CONFIGURATION}}-${{matrix.COMPILER}}
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
BUILD_CONFIGURATION:
- Debug
- Release
- Dist
COMPILER:
- msvc
- clang
- llvm
env:
SOLUTION_FILE_PATH: "Arc.sln"
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
submodules: true
- name: Set up MSBuild
uses: microsoft/setup-msbuild@v1.3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install Dependencies
run: "pip3 install requests"
- name: Generate Project Files
run: |
cd scripts
python Setup.py ${{matrix.COMPILER}}
cd ..
- name: Run Build
run: |
msbuild /m /p:Configuration=${{matrix.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} /t:rebuild /nodeReuse:false
- uses: actions/upload-artifact@v3
with:
name: "Arc_Windows_${{matrix.COMPILER}}_${{matrix.BUILD_CONFIGURATION}}"
path: "${{ github.workspace }}/bin/${{matrix.BUILD_CONFIGURATION}}-windows-x86_64"
linux_build:
name: Build for Linux-${{matrix.BUILD_CONFIGURATION}}-Clang
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
BUILD_CONFIGURATION:
- debug
- release
- dist
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
submodules: true
- name: Setup Clang
run: sudo apt update && ./scripts/InstallDependenciesDeb.sh
- name: Generate Project Files
run: ./scripts/GenerateMake.sh
- name: Run Build
run: make config=${{matrix.BUILD_CONFIGURATION}} -j$(nproc)
- uses: actions/upload-artifact@v3
with:
name: "Arc_Clang_${{matrix.BUILD_CONFIGURATION}}"
path: "${{ github.workspace }}/bin/${{matrix.BUILD_CONFIGURATION}}-linux-x86_64"