Skip to content

Merge remote-tracking branch 'refs/remotes/origin/main' #53

Merge remote-tracking branch 'refs/remotes/origin/main'

Merge remote-tracking branch 'refs/remotes/origin/main' #53

name: build and test ubuntu
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-demos:
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout repository
uses: actions/checkout@v3
# Step 2: Move to the parent directory and fetch dependencies
- name: Fetch dependencies
run: |
cd ..
git clone https://github.com/razterizer/Core.git
git clone https://github.com/razterizer/Termin8or.git
git clone https://github.com/razterizer/AudioLibSwitcher_OpenAL.git --recurse-submodules
git clone https://github.com/razterizer/TrainOfThought.git
# Step 3: Install OpenAL
- name: Install OpenAL
run: sudo apt install libopenal-dev
# Step 4: Install libsndfile
- name: Install libsndfile
run: sudo apt install libsndfile-dev
# run: sudo apt install libsndfile1-dev
# Step 5: Change to the correct directory and build
- name: Build project
run: |
cd demos
./build_demo_1.sh
# ./build_demo_2.sh
./build_demo_3.sh
./build_demo_4.sh
./build_demo_5.sh
./build_demo_6.sh
./build_demo_7.sh
./build_demo_8.sh
./build_demo_9.sh
./build_demo_10.sh
continue-on-error: false # Ensure errors are not bypassed
build-unit-tests:
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout repository
uses: actions/checkout@v3
# Step 2: Move to the parent directory and fetch dependencies
- name: Fetch dependencies
run: |
cd ..
git clone https://github.com/razterizer/Core.git
git clone https://github.com/razterizer/TrainOfThought.git
# Step 3: Change to the correct directory and build
- name: Build
run: |
cd Tests
./build_unit_tests.sh
continue-on-error: false # Ensure errors are not bypassed
# Step 4: Upload the built unit test binaries as artifacts
- name: Upload unit test binaries
uses: actions/upload-artifact@v3
with:
name: unit-test-artifacts
path: Tests/bin
run-unit-tests:
needs: build-unit-tests
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout repository
uses: actions/checkout@v3
- name: List files
run: |
pwd
ls
# Step 2: Create the bin folder if it doesn't exist
- name: Create bin folder
run: mkdir -p Tests/bin
# Step 3: Download the artifacts from the previous job
- name: Download unit test binaries
uses: actions/download-artifact@v3
with:
name: unit-test-artifacts
path: Tests/bin
# Step 4: Run the unit tests
- name: Run unit tests
run: |
cd Tests
chmod ugo+x bin/unit_tests
./bin/unit_tests
continue-on-error: false # Ensure errors are not bypassed
static-analysis:
runs-on: ubuntu-latest
if: true # turn off for now.
steps:
# Checkout the repository
- name: Checkout repository
uses: actions/checkout@v3
# Install Clang Static Analyzer tools
- name: Install Clang Static Analyzer
run: sudo apt-get install clang-tools
# Move to the parent directory and fetch dependencies
- name: Fetch dependencies
run: |
cd ..
git clone https://github.com/razterizer/Core.git
git clone https://github.com/razterizer/TrainOfThought.git
git clone https://github.com/razterizer/AudioLibSwitcher_OpenAL.git --recurse-submodules
# Install OpenAL
- name: Install OpenAL
run: sudo apt install libopenal-dev
# Install libsndfile
- name: Install libsndfile
run: sudo apt install libsndfile-dev
# run: sudo apt install libsndfile1-dev
# Run Clang Static Analyzer on static_analysis.cpp
- name: Run Clang Static Analyzer
run: |
scan-build clang++ -std=c++20 -c static_analysis.cpp -I..