Merge branch 'actions'
Some checks failed
Build / Format (push) Failing after 21s
Build / Lint (push) Successful in 1m38s
Build / Build (push) Successful in 38s

This commit is contained in:
Michael Bradley 2025-02-23 13:31:55 -05:00
commit 92b604fac3
Signed by: MichaelBradley
SSH key fingerprint: SHA256:cj/YZ5VT+QOKncqSkx+ibKTIn0Obg7OIzwzl9BL8EO8
2 changed files with 55 additions and 2 deletions

View file

@ -0,0 +1,53 @@
---
on: [push]
name: Build
jobs:
format:
name: Format
runs-on: ubuntu-22.04
steps:
- name: Check out the code
uses: actions/checkout@v4
- name: Install clang-format
run: |
sudo apt-get update
sudo apt-get -y install clang-format
- name: Check the code's formatting
run: clang-format --dry-run src/*.h src/*.cpp 2>&1 | tee fmt.log; [ ! -s fmt.log ]
lint:
name: Lint
runs-on: ubuntu-22.04
steps:
- name: Check out the code
uses: actions/checkout@v4
- name: Install clang-tidy and the toolchain
run: |
sudo apt-get update
sudo apt-get -y install clang-tidy cmake freeglut3-dev libglew-dev libglm-dev
- name: Set up the build environment
run: cmake -S . -B cmake-build-debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
- name: Have clang-tidy lint for errors
run: clang-tidy -p cmake-build-debug src/*.cpp src/*.h --warnings-as-errors='*'
build:
name: Build
runs-on: ubuntu-22.04
steps:
- name: Check out the code
uses: actions/checkout@v4
- name: Install the toolchain
run: |
sudo apt-get update
sudo apt-get -y install cmake freeglut3-dev libglew-dev libglm-dev
- name: Set up the build environment
run: cmake -S . -B cmake-build-debug
- name: Compile the code
run: cmake --build cmake-build-debug
- name: Save executable
uses: forgejo/upload-artifact@v4
with:
name: bin.zip
path: cmake-build-debug/perlin-shadows

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.27)
cmake_minimum_required(VERSION 3.22)
project(perlin-shadows)
set(CMAKE_CXX_STANDARD 14)
@ -36,4 +36,4 @@ file(READ src/shadow.frag SHADOW_FRAG)
file(READ src/shadow.geom SHADOW_GEOM)
configure_file(src/point_light.in.h src/point_light.h @ONLY)
target_include_directories(perlin-shadows PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/src")
target_include_directories(perlin-shadows PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/src")