Skip to content

Commit

Permalink
add github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
adminfriso committed Mar 7, 2024
1 parent be7477d commit fa6bcd9
Show file tree
Hide file tree
Showing 11 changed files with 525 additions and 5 deletions.
10 changes: 5 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand Down
42 changes: 42 additions & 0 deletions .github/disabled/build-emscripten.yml
Original file line number Diff line number Diff line change
@@ -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 }}
48 changes: 48 additions & 0 deletions .github/disabled/build-ios-tvos.yml
Original file line number Diff line number Diff line change
@@ -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"
51 changes: 51 additions & 0 deletions .github/disabled/build-linux-arm.yml
Original file line number Diff line number Diff line change
@@ -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;
64 changes: 64 additions & 0 deletions .github/disabled/build-linux64.yml
Original file line number Diff line number Diff line change
@@ -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 }}

62 changes: 62 additions & 0 deletions .github/disabled/build-msys2.yml
Original file line number Diff line number Diff line change
@@ -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

61 changes: 61 additions & 0 deletions .github/disabled/build-vs2022.yml
Original file line number Diff line number Diff line change
@@ -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

Loading

0 comments on commit fa6bcd9

Please sign in to comment.