Skip to content

Commit 0239918

Browse files
authored
CI: Use Docker on Linux for long term 18.04 build support (#97)
* Added ubuntu:18.04 container to Linux build * Docker: Added some logging * Docker: Added some Linux setup * Docker: Install sudo * Docker: More config * Docker: Yes * Docker: Remove sudo * Docker: More config * Docker: Removed a sudo command * Docker: Removed use of gpg * Docker: wget * Docker: More config * Docker: Yes * Docker: Install sudo again * Docker: curl * Docker: Small tidy up * Docker: Added some additional logging * Docker: More file logging * Docker: Logging tweak * Docker: Modified plugin build dir * Dcoker: More logging * Docker: cd instead of working-directory * Docker: Use pwd instead of github.workspace * Docker: Use pwd for VST2 * Docker: Removed some logging
1 parent d38fb3c commit 0239918

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

.github/workflows/build.yaml

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ jobs:
1818
matrix:
1919
include:
2020
- name: Linux
21-
os: ubuntu-18.04
21+
os: ubuntu-latest
2222
app: pluginval
2323
test-binary: ./pluginval
24+
container: ubuntu:18.04
2425
- name: macOS
2526
os: macos-12
2627
app: pluginval.app
@@ -30,7 +31,22 @@ jobs:
3031
app: pluginval.exe
3132
test-binary: ./pluginval.exe
3233
runs-on: ${{ matrix.os }}
34+
container: ${{ matrix.container }}
3335
steps:
36+
- name: Configure Docker container
37+
if: ${{ matrix.name == 'Linux' }}
38+
shell: bash
39+
run: |
40+
# install workflow deps needed because we're on a bare ubuntu container
41+
apt update && apt install -y software-properties-common
42+
add-apt-repository ppa:git-core/ppa -y
43+
apt install -y p7zip-full git wget gpg
44+
apt purge --auto-remove cmake
45+
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
46+
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
47+
apt update
48+
apt install -y sudo cmake curl tree
49+
3450
- uses: actions/checkout@v3
3551
with:
3652
submodules: true
@@ -46,7 +62,8 @@ jobs:
4662
echo "PLUGIN_BUILD_DIR=modules/juce/Builds" >> $GITHUB_ENV
4763
4864
# This needs to be absolute to make action/cache happy
49-
echo "PLUGIN_CACHE_PATH=${{ github.workspace }}/modules/juce/Builds/examples/Plugins" >> $GITHUB_ENV
65+
WORKING_DIR=$(pwd)
66+
echo "PLUGIN_CACHE_PATH=$WORKING_DIR/modules/juce/Builds/examples/Plugins" >> $GITHUB_ENV
5067
5168
- name: Install dependencies (Linux)
5269
if: ${{ matrix.name == 'Linux' }}
@@ -61,7 +78,7 @@ jobs:
6178
run: |
6279
curl -O ${{ secrets.VST2_SDK_URL }}
6380
7z x vstsdk2.4.zip
64-
echo "VST2_SDK_DIR=${{ github.workspace }}/vstsdk2.4" >> $GITHUB_ENV
81+
echo "VST2_SDK_DIR=$(pwd)/vstsdk2.4" >> $GITHUB_ENV
6582
6683
- name: Import Certificates
6784
uses: apple-actions/import-codesign-certs@v1
@@ -108,7 +125,7 @@ jobs:
108125
# Full list of targets https://gist.github.com/sudara/05be084efa371f4e43e21eb19ce04c50
109126
# Be sure to manually break the cache in the previous step if you want to add/remove plugins
110127
cmake --build Builds --config Release --target DSPModulePluginDemo_All --target MultiOutSynthPlugin_All
111-
128+
112129
- name: Validate JUCE Plugin examples (VST3)
113130
shell: bash
114131
run: |

Source/PluginTests.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,11 @@ void PluginTests::runTest()
108108
expect (! typesFound.isEmpty(),
109109
"No types found. This usually means the plugin binary is missing or damaged, "
110110
"an incompatible format or that it is an AU that isn't found by macOS so can't be created.");
111+
112+
113+
if (typesFound.isEmpty())
114+
if (! juce::File (fileOrID).exists())
115+
logMessage (juce::String ("There was no plugin file found at: XYYX").replace ("XYYX", fileOrID));
111116
}
112117

113118
for (auto pd : typesFound)

0 commit comments

Comments
 (0)