11name : Build and test Guitar++
22
3- on :
3+ on :
44 push :
55 branches :
66 - master
77
88jobs :
9- Testing_Code_Quality :
10- runs-on : ubuntu-latest
9+ Testing_Code_Quality :
10+ runs-on : ubuntu-24.04
1111 steps :
1212 # Checkout
1313 - name : Checkout
@@ -20,24 +20,67 @@ jobs:
2020 run : |
2121 sudo apt-get update && sudo apt-get install build-essential
2222 sudo apt install cmake -y
23- sudo apt install clang-12 clang-tidy-12 clang-format-12 ninja-build xorg-dev libglew-dev libgl-dev libxrandr-dev libxinerama-dev libgtest-dev -y
24-
23+ sudo apt install clang-18 clang-tidy-18 clang-format-18 ninja-build xorg-dev libglew-dev libgl-dev libxrandr-dev libxinerama-dev libgtest-dev unzip wget -y
24+
25+ # Download and setup Bass libraries
26+ - name : Setup Bass Libraries
27+ run : |
28+ cd bass
29+ # Download Bass library
30+ echo "Downloading Bass library..."
31+ wget https://www.un4seen.com/files/bass24-linux.zip -O bass24-linux.zip
32+
33+ # Download Bass FX library
34+ echo "Downloading Bass FX library..."
35+ wget https://www.un4seen.com/files/z/0/bass_fx24-linux.zip -O bass_fx24-linux.zip
36+
37+ # Extract Bass library
38+ echo "Extracting Bass library..."
39+ unzip -o bass24-linux.zip
40+
41+ # Extract Bass FX library
42+ echo "Extracting Bass FX library..."
43+ unzip -o bass_fx24-linux.zip
44+
45+ # Find and copy header files
46+ echo "Locating and copying header files..."
47+ find . -name "bass.h" -exec cp {} ./ \;
48+ find . -name "bass_fx.h" -exec cp {} ./ \;
49+
50+ # Find and copy library files for 64-bit Linux
51+ echo "Locating and copying library files..."
52+ find . -name "libbass.so" -exec cp {} ./ \;
53+ find . -name "libbass_fx.so" -exec cp {} ./ \;
54+
55+ # If 64-bit libraries are in a subdirectory, try to find them
56+ find . -path "*/x64/*" -name "libbass.so" -exec cp {} ./ \; 2>/dev/null || true
57+ find . -path "*/x64/*" -name "libbass_fx.so" -exec cp {} ./ \; 2>/dev/null || true
58+
59+ # Verify files are present
60+ echo "Verifying required files..."
61+ ls -la *.h *.so 2>/dev/null || echo "Some files may be missing"
62+
63+ # Cleanup downloaded archives and extracted directories
64+ rm -rf bass24-linux.zip bass_fx24-linux.zip bass*/ 2>/dev/null || true
65+
66+ echo "Bass library setup completed"
67+
2568 - name : Setup cmake
2669 uses : jwlawson/actions-setup-cmake@v1.8
2770 with :
2871 cmake-version : ' 3.16.x'
29-
72+
3073 - name : Build project
3174 run : |
32- export CC=$(which clang-12 )
33- export CXX=$(which clang++-12 )
75+ export CC=$(which clang-18 )
76+ export CXX=$(which clang++-18 )
3477 mkdir build && cd build
3578 cmake .. -G Ninja
3679 cmake --build . --config Debug --target all -j $(nproc) --
3780
3881 - name : Test project
3982 run : |
40- export CC=$(which clang-12 )
41- export CXX=$(which clang++-12 )
83+ export CC=$(which clang-18 )
84+ export CXX=$(which clang++-18 )
4285 cd build
4386 ctest -j 20 -C Debug -T test --output-on-failure
0 commit comments