[test] Windows - byte ambiguity #219
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: OF | |
# 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 | |
env: | |
ccache: ccache | |
jobs: | |
build-emscripten: | |
runs-on: ubuntu-24.04 | |
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 }} | |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
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.13 | |
with: | |
# key: ${{ matrix.os }}-${{ matrix.type }} | |
key: ${{ matrix.msystem }} | |
- uses: msys2/setup-msys2@v2 | |
with: | |
cache: true | |
release: true | |
update: false | |
msystem: ${{matrix.msystem}} | |
pacboy: openssl:p python:p gcc:p assimp:p cairo:p curl:p freeglut:p FreeImage:p glew:p glfw:p glm:p libsndfile:p libusb:p libxml2:p mpg123:p nlohmann-json:p openal:p opencv:p pugixml:p rtaudio:p uriparser:p utf8cpp:p | |
install: >- | |
unzip | |
make | |
# lld | |
# gcc:p gdb:p zlib:p poco:p pkgconf:p harfbuzz:p ntldd-git: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 | |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
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 | |
- 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 | |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
rpi-build: | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
cfg: | |
- { libs: armv6l, multistrap_arch: armhf, suffix: arm-linux-gnueabihf, alladdons: 1 } | |
- { libs: aarch64, multistrap_arch: arm64, suffix: aarch64-linux-gnu, alladdons: 1 } | |
env: | |
ARCH: ${{matrix.cfg.libs}} | |
MULTISTRAP_ARCH: ${{matrix.cfg.multistrap_arch}} | |
ALLADDONSEXAMPLE: ${{matrix.cfg.alladdons}} | |
steps: | |
- name: Cache Packages | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
with: | |
packages: multistrap unzip gcc-${{matrix.cfg.suffix}} g++-${{matrix.cfg.suffix}} | |
version: 1.0 | |
- uses: actions/checkout@v4 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1.2.13 | |
with: | |
key: ${{ matrix.cfg.libs }} | |
- name: Download libs | |
run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}}; | |
- name: Install dependencies | |
run: ./scripts/ci/linuxrpi/install.sh; | |
- name: Build | |
run: ./scripts/ci/linuxrpi/build.sh; | |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
build-ios-tvos: | |
runs-on: macos-14 | |
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.13 | |
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.4.app/Contents/Developer" | |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
build-linux64: | |
runs-on: ubuntu-24.04 | |
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: aptitude aptitude-common libboost-iostreams1.83.0 libcwidget4 libsigc++-2.0-0v5 libxapian30 fonts-wine{a} libasound2-plugins{a} libcapi20-3t64{a} libosmesa6{a} libpcsclite1{a} libspeexdsp1{a} libwine{a} libxkbregistry0{a} libz-mingw-w64{a} wine{a} wine64 wget2 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 | |
version: 1.0 | |
- uses: actions/checkout@v4 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1.2.13 | |
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 }} | |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
build-macos: | |
runs-on: macos-14 | |
strategy: | |
matrix: | |
cfg: | |
- {target: osx, opt: "xcode"} | |
- {target: osx, opt: "makefiles"} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1.2.13 | |
with: | |
key: ${{ matrix.cfg.target }}-${{ matrix.cfg.opt }} | |
- name: Download libs | |
run: ./scripts/${{ matrix.cfg.target }}/download_libs.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_15.4.app/Contents/Developer" | |
SDKROOT: "/Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" | |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |