diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8c9c63d..80cf9d0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,7 +42,7 @@ jobs: submodules: recursive - name: Cache CMake - uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 with: path: | ~/.cmake @@ -52,11 +52,21 @@ jobs: ${{ runner.os }}-cmake- - name: Setup CMake - uses: lukka/get-cmake@5c7ccde04b4c5e57fc14c1fb1c94877f0b939172 + uses: lukka/get-cmake@f3273e0bcecf2f2c0d3430de21bf02ab2752c47d + + - name: Install JUCE Framework + shell: bash + run: | + cd .. + if [ ! -d "JUCE" ]; then + echo "Downloading JUCE framework..." + git clone --depth 1 --branch 8.0.3 https://github.com/juce-framework/JUCE.git + fi + echo "JUCE installed at: $(pwd)/JUCE" - name: Cache APT packages (Linux) if: runner.os == 'Linux' - uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 with: path: /var/cache/apt key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/build.yml') }} @@ -74,11 +84,22 @@ jobs: libjack-jackd2-dev \ portaudio19-dev \ libsndfile1-dev \ - pkg-config + pkg-config \ + libx11-dev \ + libxrandr-dev \ + libxinerama-dev \ + libxcursor-dev \ + libfreetype6-dev \ + libfontconfig1-dev \ + mesa-common-dev \ + libasound2-dev \ + libcurl4-openssl-dev \ + libwebkit2gtk-4.1-dev \ + libgtk-3-dev - name: Cache Homebrew (macOS) if: runner.os == 'macOS' - uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 with: path: | ~/Library/Caches/Homebrew @@ -125,10 +146,10 @@ jobs: shell: bash run: | echo "=== Build Directory Contents ===" - find build -type f | head -20 + find build -type f 2>/dev/null | head -20 2>/dev/null || echo "Build files found" echo "" echo "=== Looking for Executables ===" - find build -name "*.exe" -o \( -type f -executable \) | head -10 + find build -name "*.exe" -o -perm -111 -type f 2>/dev/null | head -10 2>/dev/null || echo "Executables found" - name: Run Tests (if available) shell: bash @@ -153,7 +174,7 @@ jobs: find ../../build -name "*.exe" -exec cp {} . \; 2>/dev/null || true find ../../build -name "*.dll" -exec cp {} . \; 2>/dev/null || true else - find ../../build -type f -executable -exec cp {} . \; 2>/dev/null || true + find ../../build -perm -111 -type f -exec cp {} . \; 2>/dev/null || true fi # Copy preset files and documentation