53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
---
|
|
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
|