From fa6bcd9c9b4920d361e72a5b9cd3a1f2acb53c61 Mon Sep 17 00:00:00 2001 From: Friso Modderman Date: Thu, 7 Mar 2024 11:59:18 +0100 Subject: [PATCH] add github actions --- .circleci/config.yml | 10 ++-- .github/disabled/build-emscripten.yml | 42 ++++++++++++++++ .github/disabled/build-ios-tvos.yml | 48 ++++++++++++++++++ .github/disabled/build-linux-arm.yml | 51 +++++++++++++++++++ .github/disabled/build-linux64.yml | 64 ++++++++++++++++++++++++ .github/disabled/build-msys2.yml | 62 +++++++++++++++++++++++ .github/disabled/build-vs2022.yml | 61 ++++++++++++++++++++++ .github/disabled/manual-nightly.yml | 43 ++++++++++++++++ .github/disabled/manual-web-examples.yml | 48 ++++++++++++++++++ .github/disabled/nightly-linux64.yml | 42 ++++++++++++++++ .github/workflows/build-macos.yml | 59 ++++++++++++++++++++++ 11 files changed, 525 insertions(+), 5 deletions(-) create mode 100644 .github/disabled/build-emscripten.yml create mode 100644 .github/disabled/build-ios-tvos.yml create mode 100644 .github/disabled/build-linux-arm.yml create mode 100644 .github/disabled/build-linux64.yml create mode 100644 .github/disabled/build-msys2.yml create mode 100644 .github/disabled/build-vs2022.yml create mode 100644 .github/disabled/manual-nightly.yml create mode 100644 .github/disabled/manual-web-examples.yml create mode 100644 .github/disabled/nightly-linux64.yml create mode 100644 .github/workflows/build-macos.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 841e6f0..ecd8c6a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,11 +15,11 @@ jobs: # Commands will execute in macOS container # with Xcode 14.2.0 installed - run: git clone --depth=1 --branch=master https://github.com/openframeworks/openFrameworks - - run: cd openFrameworks/apps - - run: git clone --depth=1 --branch=main https://github.com/sebleedelisle/ofxLaser - - run: cd ofxLaser/example_HelloLaser + - run: pwd + - run: cd openFrameworks/apps && git clone --depth=1 --branch=main https://github.com/sebleedelisle/ofxLaser + - run: pwd #- run: rm bin/stdin.log bin/stdout.log bin/stderr.log - - run: xcodebuild -scheme "example_HelloLaser Debug" build && open bin/example_HelloLaserDebug.app -i bin/stdin.log -o bin/stdout.log --stderr bin/stderr.log + - run: cd openFrameworks/apps/ofxLaser/example_HelloLaser && xcodebuild -scheme "example_HelloLaser Debug" build && open bin/example_HelloLaserDebug.app -i bin/stdin.log -o bin/stdout.log --stderr bin/stderr.log build_windows: executor: win/default # executor type @@ -31,7 +31,7 @@ jobs: - run: git clone --depth=1 --branch=main https://github.com/sebleedelisle/ofxLaser - run: cd ofxLaser/example_HelloLaser #- run: Write-Host 'Hello, Windows' - - run: msbuild example_HelloLaser /t:build /nologo /noautoresponse /maxcpucount /p:Configuration=Release + - run: msbuild example_HelloLaser.sln /t:build /nologo /noautoresponse /maxcpucount /p:Configuration=Release workflows: build_mac: diff --git a/.github/disabled/build-emscripten.yml b/.github/disabled/build-emscripten.yml new file mode 100644 index 0000000..3d21aea --- /dev/null +++ b/.github/disabled/build-emscripten.yml @@ -0,0 +1,42 @@ +name: build-emscripten + +# make the action not run on the local repo if the branch is also in a pull request to OF/OF +on: + push: + if: github.event_name == 'push' && github.event.pull_request == null + paths-ignore: + - '**/*.md' + - 'examples/**' + pull_request: + if: github.event_name == 'pull_request' && github.repository == 'openframeworks/openFrameworks' + paths-ignore: + - '**/*.md' + - 'examples/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-emscripten: + runs-on: ubuntu-latest + strategy: + matrix: + cfg: + - {target: emscripten} + env: + TARGET: ${{matrix.cfg.target}} + steps: + - uses: actions/checkout@v4 + - name: Docker Step + run: "docker run -di --name emscripten -v $PWD:/src emscripten/emsdk:3.1.21 bash" + - name: Download libs + run: ./scripts/$TARGET/download_libs.sh + - name: Install dependencies + run: ./scripts/ci/$TARGET/install.sh + - name: Build + run: docker exec -i emscripten sh -c "scripts/ci/$TARGET/build.sh"; + - name: Upload Libs + run: scripts/ci/upload_of_lib.sh; + env: + GA_CI_SECRET: ${{ secrets.CI_SECRET }} diff --git a/.github/disabled/build-ios-tvos.yml b/.github/disabled/build-ios-tvos.yml new file mode 100644 index 0000000..ab83923 --- /dev/null +++ b/.github/disabled/build-ios-tvos.yml @@ -0,0 +1,48 @@ +name: build-ios-tvos + +# make the action not run on the local repo if the branch is also in a pull request to OF/OF +on: + push: + if: github.event_name == 'push' && github.event.pull_request == null + paths-ignore: + - '**/*.md' + - 'examples/**' + pull_request: + if: github.event_name == 'pull_request' && github.repository == 'openframeworks/openFrameworks' + paths-ignore: + - '**/*.md' + - 'examples/**' + +env: + ccache: ccache + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-ios-tvos: + runs-on: macos-13 + strategy: + matrix: + cfg: + - {target: ios, libs: ios} + #- {target: tvos, libs: ios} #broken currently maybe better to just remove + env: + TARGET: ${{matrix.cfg.target}} + steps: + - uses: actions/checkout@v4 + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.12 + with: + key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }} + + - name: Download libs + run: ./scripts/${{matrix.cfg.libs}}/download_libs.sh + - name: install + run: ./scripts/ci/$TARGET/install.sh + - name: Build + run: ./scripts/ci/$TARGET/build.sh; + + env: + DEVELOPER_DIR: "/Applications/Xcode_15.2.app/Contents/Developer" diff --git a/.github/disabled/build-linux-arm.yml b/.github/disabled/build-linux-arm.yml new file mode 100644 index 0000000..4dc36ef --- /dev/null +++ b/.github/disabled/build-linux-arm.yml @@ -0,0 +1,51 @@ +name: build-linux-arm + +# make the action not run on the local repo if the branch is also in a pull request to OF/OF +on: + push: + if: github.event_name == 'push' && github.event.pull_request == null + paths-ignore: + - '**/*.md' + - 'examples/**' + pull_request: + if: github.event_name == 'pull_request' && github.repository == 'openframeworks/openFrameworks' + paths-ignore: + - '**/*.md' + - 'examples/**' + +env: + ccache: ccache + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-linux-arm-platforms: + runs-on: ubuntu-latest + strategy: + matrix: + cfg: + - {target: linuxarmv6l, libs: armv6l} + - {target: linuxaarch64, libs: aarch64} + env: + TARGET: ${{matrix.cfg.target}} + steps: + - name: Cache Packages + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: make curl libunwind-dev libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile1-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev libxcursor-dev libxi-dev libxinerama-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good + version: 1.0 + + - uses: actions/checkout@v4 + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.12 + with: + # key: ${{ matrix.os }}-${{ matrix.type }} + key: ${{ matrix.cfg.target }} + - name: Download libs + run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}}; + - name: Install dependencies + run: ./scripts/ci/$TARGET/install.sh; + - name: Build + run: ./scripts/ci/$TARGET/build.sh; diff --git a/.github/disabled/build-linux64.yml b/.github/disabled/build-linux64.yml new file mode 100644 index 0000000..97eebdf --- /dev/null +++ b/.github/disabled/build-linux64.yml @@ -0,0 +1,64 @@ +name: build-linux64 + +# make the action not run on the local repo if the branch is also in a pull request to OF/OF +on: + push: + if: github.event_name == 'push' && github.event.pull_request == null + paths-ignore: + - '**/*.md' + - 'examples/**' + pull_request: + if: github.event_name == 'pull_request' && github.repository == 'openframeworks/openFrameworks' + paths-ignore: + - '**/*.md' + - 'examples/**' + +env: + ccache: ccache + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-linux64-platforms: + runs-on: ubuntu-latest + strategy: + matrix: + cfg: + - {target: linux64, libs: 64gcc6} + env: + TARGET: ${{matrix.cfg.target}} + steps: + - name: Remove Old lib-unwind + run: if [ "$TARGET" = "linux64" ]; then + sudo apt-get remove libunwind-14 -y; + fi + - name: Cache Packages + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: make curl libunwind-dev libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile1-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev libxcursor-dev libxi-dev libxinerama-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good + version: 1.0 + + - uses: actions/checkout@v4 + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.12 + with: + key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }} + + - name: Download libs + run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}}; + - name: Install dependencies + run: ./scripts/ci/$TARGET/install.sh; + - name: Build + run: if [ "$TARGET" = "linux64" ]; then + scripts/ci/linux64/build.sh; + scripts/ci/$TARGET/run_tests.sh; + else + scripts/ci/$TARGET/build.sh; + fi + # - name: Upload Libs + # run: scripts/ci/upload_of_lib.sh; + # env: + # GA_CI_SECRET: ${{ secrets.CI_SECRET }} + diff --git a/.github/disabled/build-msys2.yml b/.github/disabled/build-msys2.yml new file mode 100644 index 0000000..6bec16d --- /dev/null +++ b/.github/disabled/build-msys2.yml @@ -0,0 +1,62 @@ +name: build-msys2 + +# make the action not run on the local repo if the branch is also in a pull request to OF/OF +on: + push: + if: github.event_name == 'push' && github.event.pull_request == null + paths-ignore: + - '**/*.md' + - 'examples/**' + pull_request: + if: github.event_name == 'pull_request' && github.repository == 'openframeworks/openFrameworks' + paths-ignore: + - '**/*.md' + - 'examples/**' + +env: + ccache: ccache + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-msys2: + runs-on: windows-latest + strategy: + matrix: + msystem: + - mingw64 + # - ucrt64 + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v4 + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.12 + with: + # key: ${{ matrix.os }}-${{ matrix.type }} + key: ${{ matrix.msystem }} + - uses: msys2/setup-msys2@v2 + with: + cache: true + update: false + msystem: ${{matrix.msystem}} + pacboy: assimp:p cairo:p curl:p freeglut:p FreeImage:p gcc:p gdb:p glew:p glfw:p glm:p harfbuzz:p libsndfile:p libusb:p libxml2:p mpg123:p nlohmann-json:p ntldd-git:p openal:p opencv:p pkgconf:p pugixml:p rtaudio:p uriparser:p utf8cpp:p zlib:p poco:p + # boost:p tools:p + # install: >- + # unzip + # git + # rsync + # wget + + - name: Install dependencies + run: ./scripts/ci/msys2/install.sh + + - name: Build + run: ./scripts/ci/msys2/build.sh + + - name: Run tests + run: ./scripts/ci/msys2/run_tests.sh + diff --git a/.github/disabled/build-vs2022.yml b/.github/disabled/build-vs2022.yml new file mode 100644 index 0000000..0b48729 --- /dev/null +++ b/.github/disabled/build-vs2022.yml @@ -0,0 +1,61 @@ +name: build-vs + +# make the action not run on the local repo if the branch is also in a pull request to OF/OF +on: + push: + if: github.event_name == 'push' && github.event.pull_request == null + paths-ignore: + - '**/*.md' + - 'examples/**' + pull_request: + if: github.event_name == 'pull_request' && github.repository == 'openframeworks/openFrameworks' + paths-ignore: + - '**/*.md' + - 'examples/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-vs2022: + runs-on: windows-2022 + strategy: + matrix: + platform: [x64, ARM64, ARM64EC] + env: + BITS: ${{ matrix.bits }} + steps: + - name: Clone repository + uses: actions/checkout@v4 + - uses: msys2/setup-msys2@v2.22.0 + with: + update: true + install: >- + git + unzip + rsync + wget + - name: Install dependencies + shell: msys2 {0} + run: + ./scripts/ci/vs/install_bleeding.sh + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v2 + - name: Build emptyExample + working-directory: ${{env.GITHUB_WORKSPACE}} + run: + msbuild examples/templates/emptyExample/emptyExample.vcxproj /p:configuration=release /p:platform=${{ matrix.platform }} /p:PlatformToolset=v143 + - name: Build allAddonsExample + working-directory: ${{env.GITHUB_WORKSPACE}} + run: + msbuild examples/templates/allAddonsExample/allAddonsExample.vcxproj /p:configuration=release /p:platform=${{ matrix.platform }} /p:PlatformToolset=v143 + - name: Build DEBUG emptyExample + working-directory: ${{env.GITHUB_WORKSPACE}} + run: + msbuild examples/templates/emptyExample/emptyExample.vcxproj /p:configuration=debug /p:platform=${{ matrix.platform }} /p:PlatformToolset=v143 + - name: Build DEBUG allAddonsExample + working-directory: ${{env.GITHUB_WORKSPACE}} + run: + msbuild examples/templates/allAddonsExample/allAddonsExample.vcxproj /p:configuration=debug /p:platform=${{ matrix.platform }} /p:PlatformToolset=v143 + diff --git a/.github/disabled/manual-nightly.yml b/.github/disabled/manual-nightly.yml new file mode 100644 index 0000000..f4599c7 --- /dev/null +++ b/.github/disabled/manual-nightly.yml @@ -0,0 +1,43 @@ +name: manual-nightly + +on: + workflow_dispatch: + inputs: + release: + description: 'release' + required: true + default: 'nightly' +jobs: + manual-nightly: + runs-on: ubuntu-latest + strategy: + matrix: + cfg: + - {target: linux64, libs: 64gcc6} + steps: + - name: Install libunwind + run: sudo apt-get install libunwind-dev + - name: Cache Packages + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: make curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile1-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev libxcursor-dev libxi-dev libxinerama-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good + # libunwind-dev + version: 1.0 + + - uses: actions/checkout@v4 + - name: Install dependencies + run: ./scripts/ci/${{matrix.cfg.target}}/install.sh; + - name: Download libs + run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}}; + - name: Create Package + run: scripts/ci/package_builds.sh ${{ github.event.inputs.release }}; + id: createpackage + - name: Update Release + uses: IsaacShelton/update-existing-release@v1.3.4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.event.inputs.release }} + release: ${{ github.event.inputs.release }} + prerelease: false + replace: true + files: ${{ steps.createpackage.outputs.FILES_OUT }} diff --git a/.github/disabled/manual-web-examples.yml b/.github/disabled/manual-web-examples.yml new file mode 100644 index 0000000..c00771a --- /dev/null +++ b/.github/disabled/manual-web-examples.yml @@ -0,0 +1,48 @@ +name: build-web-examples + + +# make the action not run on the local repo if the branch is also in a pull request to OF/OF +on: + workflow_dispatch: + inputs: + release: + description: 'release' + required: true + default: 'nightly' +#on: +# push: +# if: github.event_name == 'push' && github.event.pull_request == null +# paths-ignore: +# - '**/*.md' +# - 'examples/**' +# pull_request: +# if: github.event_name == 'pull_request' && github.repository == 'openframeworks/openFrameworks' +# paths-ignore: +# - '**/*.md' +# - 'examples/**' +jobs: + build-web-examples: + runs-on: ubuntu-latest + strategy: + matrix: + cfg: + - target: emscripten + env: + TARGET: ${{matrix.cfg.target}} + steps: + - uses: actions/checkout@v4 + - name: Docker Step + run: docker run -di --name emscripten -v $PWD:/src emscripten/emsdk:3.1.50 bash + - name: Download libs + run: ./scripts/dev/download_libs.sh -p emscripten + - name: Install dependencies + run: ./scripts/ci/$TARGET/install_web_examples.sh + - name: Build + run: docker exec -e GA_EXAMPLES_USER=${{ secrets.SSH_USER }} -e GA_EXAMPLES_SERVER=${{ secrets.SSH_SERVER }} -e GA_EXAMPLES_KEY="${{ secrets.SSH_KEY }}" -e GH_HEAD_REF=${{ github.head_ref }} -e GH_BRANCH=${{ github.ref_name }} -e GH_ACTIONS=true -i emscripten sh -c "scripts/ci/$TARGET/examples_to_build.sh" + env: + GA_EXAMPLES_USER: ${{ secrets.SSH_USER }} + GA_EXAMPLES_SERVER: ${{ secrets.SSH_SERVER }} + GA_EXAMPLES_KEY: ${{ secrets.SSH_KEY }} + GH_HEAD_REF: ${{ github.head_ref }} + GH_BRANCH: ${{ github.ref_name }} + GH_ACTIONS: "true" diff --git a/.github/disabled/nightly-linux64.yml b/.github/disabled/nightly-linux64.yml new file mode 100644 index 0000000..42a38bf --- /dev/null +++ b/.github/disabled/nightly-linux64.yml @@ -0,0 +1,42 @@ +name: nightly-linux64 + +on: + schedule: + - cron: "0 6 * * *" +jobs: + build-nightly: + runs-on: ubuntu-latest + if: github.repository == 'openframeworks/openFrameworks' && github.ref == 'refs/heads/master' + strategy: + matrix: + cfg: + - {target: linux64, libs: 64gcc6} + env: + TARGET: ${{matrix.cfg.target}} + steps: + - name: Install libunwind + run: sudo apt-get install libunwind-dev + - name: Cache Packages + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: make curl libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile1-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev libxcursor-dev libxi-dev libxinerama-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good + # libunwind-dev + version: 1.0 + + - uses: actions/checkout@v4 + - name: Install dependencies + run: ./scripts/ci/$TARGET/install.sh; + - name: Download libs + run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}}; + - name: Create Package + run: scripts/ci/package_builds.sh; + id: createpackage + - name: Update Release + uses: IsaacShelton/update-existing-release@v1.3.4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag: nightly + release: nightly + prerelease: false + replace: true + files: ${{ steps.createpackage.outputs.FILES_OUT }} diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml new file mode 100644 index 0000000..0ad85a1 --- /dev/null +++ b/.github/workflows/build-macos.yml @@ -0,0 +1,59 @@ +name: build-macos + +# make the action not run on the local repo if the branch is also in a pull request to OF/OF +on: [push] + +env: + ccache: ccache + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-macos: + runs-on: macos-13 + strategy: + matrix: + cfg: + - {target: osx, opt: "xcode"} + - {target: osx, opt: "makefiles"} + steps: + - uses: actions/checkout@v4 + with: + repository: openframeworks/openFrameworks + - uses: actions/checkout@v4 + with: + path: openFrameworks/addons + - name: remove emptyExample + run: rm openFrameworks/examples/templates/emptyExample + - name: replace emptyExample + run: cp -r openFrameworks/addons/ofxLaser/example_HelloLaser openFrameworks/examples/templates/emptyExample + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2.12 + with: + # key: ${{ matrix.os }}-${{ matrix.type }} + key: ${{ matrix.cfg.target }}-${{ matrix.cfg.opt }} + # key: ${{ matrix.msystem }} + + + - name: Download libs + # continue-on-error: true + run: ./scripts/${{ matrix.cfg.target }}/download_libs.sh +# - name: rm-dev +# run: sudo rm -rf /Library/Developer + + # this step is not needed here because the script is empty + # - name: install + # run: ./scripts/ci/$TARGET/install.sh + + - name: Build + run: + if [ ${{ matrix.cfg.opt }} = "xcode" ]; then + scripts/ci/${{ matrix.cfg.target }}/build.sh ${{ matrix.cfg.opt }}; + else + scripts/ci/${{ matrix.cfg.target }}/run_tests.sh; + fi + env: + DEVELOPER_DIR: "/Applications/Xcode.app/Contents/Developer" + SDKROOT: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"