Skip to content

Commit ac8e845

Browse files
authored
Merge branch 'openframeworks:master' into squared
2 parents 0d7c777 + 2b7745d commit ac8e845

398 files changed

Lines changed: 15166 additions & 6497 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# EditorConfig https://editorconfig.org
2+
root = true
3+
4+
# Default settings for all files
5+
[*]
6+
indent_style = tab
7+
indent_size = 4
8+
tab_width = 4
9+
insert_final_newline = true
10+
trim_trailing_whitespace = true
11+
12+
[*.{js,py}]
13+
charset = utf-8
14+
15+
[*.sh]
16+
indent_style = tab
17+
indent_size = 4
18+
tab_width = 4
19+
insert_final_newline = true
20+
trim_trailing_whitespace = true
21+
22+
# Override JSON
23+
[*.json]
24+
indent_style = space
25+
indent_size = 2
26+
tab_width = 2
27+
28+
# Override YAML
29+
[*.yml]
30+
indent_style = space
31+
indent_size = 2
32+
tab_width = 2
33+
34+
[*.html]
35+
indent_style = space
36+
indent_size = 2
37+
38+
[*.js]
39+
indent_style = space
40+
indent_size = 2

.github/workflows/actions/build-ios-tvos.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,23 @@ jobs:
2626
strategy:
2727
matrix:
2828
cfg:
29-
- {target: ios, libs: ios}
30-
#- {target: tvos, libs: ios} #broken currently maybe better to just remove
29+
- {target: ios, libs: macos}
30+
- {target: tvos, libs: macos}
3131
env:
3232
TARGET: ${{matrix.cfg.target}}
3333
steps:
3434
- uses: actions/checkout@v4
3535
- name: ccache
36-
uses: hendrikmuhs/ccache-action@v1.2.13
36+
uses: hendrikmuhs/ccache-action@v1.2.14
3737
with:
3838
key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }}
3939

4040
- name: Download libs
41-
run: ./scripts/${{matrix.cfg.libs}}/download_libs.sh
41+
run: ./scripts/macos/download_latest_libs.sh
4242
- name: install
4343
run: ./scripts/ci/$TARGET/install.sh
4444
- name: Build
4545
run: ./scripts/ci/$TARGET/build.sh;
4646

4747
env:
48-
DEVELOPER_DIR: "/Applications/Xcode_15.2.app/Contents/Developer"
48+
DEVELOPER_DIR: "/Applications/Xcode.app/Contents/Developer"

.github/workflows/actions/build-linux64.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ env:
2222

2323
jobs:
2424
build-linux64-platforms:
25-
runs-on: ubuntu-24.04
25+
runs-on: ubuntu-latest
2626
strategy:
2727
matrix:
2828
cfg:
@@ -34,15 +34,15 @@ jobs:
3434
run: if [ "$TARGET" = "linux64" ]; then
3535
sudo apt-get remove libunwind-14 -y;
3636
fi
37-
- name: Cache Packages
38-
uses: awalsh128/cache-apt-pkgs-action@latest
39-
with:
40-
packages: wget2 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
41-
version: 1.0
37+
# - name: Cache Packages
38+
# uses: awalsh128/cache-apt-pkgs-action@latest
39+
# with:
40+
# packages: wget2 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
41+
# version: 1.0
4242

4343
- uses: actions/checkout@v4
4444
- name: ccache
45-
uses: hendrikmuhs/ccache-action@v1.2.13
45+
uses: hendrikmuhs/ccache-action@v1.2.14
4646
with:
4747
key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }}
4848

.github/workflows/actions/build-macos.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,24 @@ env:
2222

2323
jobs:
2424
build-macos:
25-
runs-on: macos-13
25+
runs-on: macos-14
2626
strategy:
2727
matrix:
2828
cfg:
29-
- {target: osx, opt: "xcode"}
30-
- {target: osx, opt: "makefiles"}
29+
- {target: macos, opt: "xcode"}
30+
- {target: macos, opt: "makefiles"}
3131
steps:
3232
- uses: actions/checkout@v4
3333
- name: ccache
34-
uses: hendrikmuhs/ccache-action@v1.2.13
34+
uses: hendrikmuhs/ccache-action@v1.2.14
3535
with:
3636
# key: ${{ matrix.os }}-${{ matrix.type }}
3737
key: ${{ matrix.cfg.target }}-${{ matrix.cfg.opt }}
3838
# key: ${{ matrix.msystem }}
3939

40-
4140
- name: Download libs
4241
# continue-on-error: true
43-
run: ./scripts/${{ matrix.cfg.target }}/download_libs.sh
44-
# - name: rm-dev
45-
# run: sudo rm -rf /Library/Developer
46-
42+
run: ./scripts/${{ matrix.cfg.target }}/download_latest_libs.sh
4743
# this step is not needed here because the script is empty
4844
# - name: install
4945
# run: ./scripts/ci/$TARGET/install.sh

.github/workflows/actions/build-msys2.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
steps:
3535
- uses: actions/checkout@v4
3636
- name: ccache
37-
uses: hendrikmuhs/ccache-action@v1.2.13
37+
uses: hendrikmuhs/ccache-action@v1.2.14
3838
with:
3939
# key: ${{ matrix.os }}-${{ matrix.type }}
4040
key: ${{ matrix.msystem }}

.github/workflows/actions/build-rpi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- uses: actions/checkout@v4
4343

4444
- name: ccache
45-
uses: hendrikmuhs/ccache-action@v1.2.13
45+
uses: hendrikmuhs/ccache-action@v1.2.14
4646
with:
4747
key: ${{ matrix.cfg.libs }}
4848

.github/workflows/actions/build-vs2022.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ jobs:
3838
git
3939
unzip
4040
rsync
41+
wget2
4142
wget
4243
- name: Install dependencies
4344
shell: msys2 {0}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: cleanup caches by a branch
2+
on:
3+
pull_request:
4+
types:
5+
- closed
6+
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.ref }}
9+
cancel-in-progress: true
10+
11+
jobs:
12+
cleanup:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Check out code
16+
uses: actions/checkout@v4
17+
- name: Cleanup
18+
run: |
19+
gh extension install actions/gh-actions-cache
20+
REPO=${{ github.repository }}
21+
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
22+
echo "Fetching list of cache key"
23+
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH -L 100 | cut -f 1 )
24+
## Setting this to not fail the workflow while deleting cache keys.
25+
set +e
26+
echo "Deleting caches..."
27+
for cacheKey in $cacheKeysForPR
28+
do
29+
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
30+
done
31+
echo "Done"
32+
env:
33+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/manual-nightly.yml

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,25 @@ on:
77
description: 'release'
88
required: true
99
default: 'nightly'
10+
# on:
11+
# push:
12+
# paths-ignore:
13+
# - '**/README.md'
14+
# pull_request:
15+
# paths-ignore:
16+
# - '**/README.md'
17+
18+
concurrency:
19+
group: ${{ github.workflow }}-${{ github.ref }}
20+
cancel-in-progress: true
1021

1122
env:
1223
ccache: ccache
1324

1425
jobs:
1526
manual-nightly:
1627
runs-on: ubuntu-24.04
28+
if: github.repository == 'openframeworks/openFrameworks' && github.ref == 'refs/heads/master'
1729
strategy:
1830
matrix:
1931
cfg:
@@ -24,24 +36,38 @@ jobs:
2436
- name: Cache Packages
2537
uses: awalsh128/cache-apt-pkgs-action@latest
2638
with:
27-
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
28-
# libunwind-dev
39+
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 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
40+
# libunwind-dev wget2
2941
version: 1.0
3042

3143
- uses: actions/checkout@v4
3244
- name: ccache
33-
uses: hendrikmuhs/ccache-action@v1.2.13
45+
uses: hendrikmuhs/ccache-action@v1.2.14
3446
with:
35-
key: ${{ matrix.cfg.target }}
47+
key: ${{ matrix.cfg.target }}
48+
- name: update submodules
49+
run: ./scripts/dev/init_submodules.sh
3650
- name: Install dependencies
3751
run: ./scripts/ci/${{matrix.cfg.target}}/install.sh;
3852
- name: Download libs
3953
run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}};
4054
- name: Create Package
4155
run: scripts/ci/package_builds.sh ${{ github.event.inputs.release }};
4256
id: createpackage
57+
- name: List output directory
58+
run: ls -lah out/
59+
# - name: Test Artefact zip
60+
# run: |
61+
# tar -cjf out/manual-mega_artefact.tar.bz2 -C out $(echo ${{ steps.createpackage.outputs.FILES_OUT }} | tr ' ' '\n' | sed 's|^out/||')
62+
# - name: Upload binaries as Artefact
63+
# uses: actions/upload-artifact@v4
64+
# with:
65+
# name: openFrameworks-all-artefact-${{ env.TARGET }}-${{ matrix.bundle }}
66+
# path: out/manual-mega_artefact.tar.bz2
67+
# retention-days: 1
4368
- name: Update Release
4469
uses: IsaacShelton/update-existing-release@v1.3.4
70+
if: github.repository == 'openframeworks/openFrameworks' && github.ref == 'refs/heads/master'
4571
with:
4672
token: ${{ secrets.GITHUB_TOKEN }}
4773
tag: ${{ github.event.inputs.release }}

.github/workflows/nightly-linux64.yml

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,35 @@
11
name: nightly-linux64
2+
# on:
3+
# push:
4+
# paths-ignore:
5+
# - '**/README.md'
6+
# pull_request:
7+
# paths-ignore:
8+
# - '**/README.md'
9+
# on:
10+
# workflow_dispatch:
11+
# inputs:
12+
# release:
13+
# description: 'release'
14+
# required: true
15+
# default: 'nightly'
16+
# concurrency:
17+
# group: ${{ github.workflow }}-${{ github.ref }}
18+
# cancel-in-progress: true
19+
20+
# on:
21+
# schedule:
22+
# - cron: "0 6 * * *"
223

324
on:
425
schedule:
526
- cron: "0 6 * * *"
6-
27+
workflow_dispatch:
28+
inputs:
29+
release:
30+
description: 'release'
31+
required: true
32+
default: 'nightly'
733
env:
834
ccache: ccache
935

@@ -23,28 +49,32 @@ jobs:
2349
- name: Cache Packages
2450
uses: awalsh128/cache-apt-pkgs-action@latest
2551
with:
26-
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
27-
# libunwind-dev
52+
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 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
53+
# libunwind-dev wget2
2854
version: 1.0
2955

3056
- uses: actions/checkout@v4
3157
- name: ccache
32-
uses: hendrikmuhs/ccache-action@v1.2.13
58+
uses: hendrikmuhs/ccache-action@v1.2.14
3359
with:
3460
key: ${{ matrix.cfg.target }}
3561
- name: Install dependencies
3662
run: ./scripts/ci/$TARGET/install.sh;
63+
- name: update submodules
64+
run: ./scripts/dev/init_submodules.sh
3765
- name: Download libs
3866
run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}};
3967
- name: Create Package
40-
run: scripts/ci/package_builds.sh;
68+
run: scripts/ci/package_builds.sh ${{ github.event.inputs.release }};
4169
id: createpackage
70+
- name: List output directory
71+
run: ls -lah out/
4272
- name: Update Release
4373
uses: IsaacShelton/update-existing-release@v1.3.4
4474
with:
45-
token: ${{ secrets.GITHUB_TOKEN }}
46-
tag: nightly
47-
release: nightly
48-
prerelease: false
49-
replace: true
50-
files: ${{ steps.createpackage.outputs.FILES_OUT }}
75+
token: ${{ secrets.GITHUB_TOKEN }}
76+
tag: nightly
77+
release: nightly
78+
prerelease: false
79+
replace: true
80+
files: ${{ steps.createpackage.outputs.FILES_OUT }}

0 commit comments

Comments
 (0)