Skip to content

Linux

Linux #23

Workflow file for this run

name: build
permissions:
contents: write
on:
push:
branches:
- master
tags:
- "*"
pull_request:
branches:
- master
jobs:
compile:
strategy:
fail-fast: false
matrix:
include:
- { os: windows-latest, target: windows, platform: win32-x64 }
- { os: ubuntu-23.04, target: linux, platform: linux-x64 }
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- uses: lukka/get-cmake@latest
- name: Restore from cache and setup vcpkg executable and data files.
uses: lukka/run-vcpkg@v11
with:
vcpkgJsonGlob: 'vcpkg.json'
- name: Run CMake+vcpkg+Ninja+CTest to build packages and generate/build/test the code.
uses: lukka/run-cmake@v10
with:
configurePreset: 'ninja-multi-vcpkg'
buildPreset: 'ninja-vcpkg-release'
- name: CMake install
run: |
cmake --build ./builds/ninja-multi-vcpkg --config Release --target install
- name: Clean Up
if: ${{ matrix.target == 'linux' }}
run: |
rm -rf ${{ github.workspace }}/Mod/windows
- name: Clean Up1
if: ${{ matrix.target == 'windows' }}
run: |
rm -rf ${{ github.workspace }}/Mod/linux
- name: Archive Release
uses: thedoctor0/[email protected]
if: startsWith(github.ref, 'refs/tags/')
with:
path: ${{ github.workspace }}/Mod
filename: ${{ matrix.target}}_Mod.zip
- name: Publish release asserts
uses: ncipollo/[email protected]
if: startsWith(github.ref, 'refs/tags/')
with:
artifacts: '${{ matrix.target}}_Mod.zip'
allowUpdates: true