blah/.github/workflows/release.yml
2023-03-08 10:17:17 -08:00

41 lines
1.2 KiB
YAML

name: Project build
# github's push and pull_request events
# will trigger this action to run
on: [push, pull_request, workflow_dispatch]
jobs:
build:
# names the job as "Build (___)" where the blank
# is the name of the platform being built, e.g. "Build (Windows)"
name: "Build (${{ matrix.platform.name }})"
defaults:
run:
shell: bash
runs-on: ${{ matrix.platform.os }}
# causes a timeout if build step takes longer than 10 minutes
# (avg. time for all builds during testing was ~4 minutes)
timeout-minutes: 10
strategy:
# don't cancel other in-progress jobs if one fails
fail-fast: false
matrix:
platform:
- { name: "Windows", os: windows-latest }
- { name: "MacOS", os: macos-latest }
- { name: "Linux", os: ubuntu-20.04 }
steps:
# the only dependency required, allows workflow to access the commit
# and the runner to find our CMakeLists.txt file
- uses: actions/checkout@master
- name: Create binary directory
run: |
cmake -B build
- name: Build project binary
run: |
cmake --build build --config Release