Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
fee8fcb
Fix shell command injection, stream PG output live
danoli3 Aug 20, 2026
c906815
Enable contextIsolation, drop nodeIntegration
danoli3 Aug 20, 2026
249bd50
Upgrade Electron to 43.4.1, drop unsupported linux targets
danoli3 Aug 20, 2026
74df8ef
Linux CI: native arm64 build for Raspberry Pi, add Ubuntu 22.04
danoli3 Aug 20, 2026
21b1853
Add OF path status bar, addon-from-git quick add
danoli3 Aug 20, 2026
04a231f
Add Emscripten build & local preview window
danoli3 Aug 20, 2026
ab9a2d5
Remove AGL framework link, no longer in newer macOS SDKs
danoli3 Aug 20, 2026
09390d4
Fix Windows Node 18/ESM crash and duplicate-arch Linux tarball
danoli3 Aug 20, 2026
c8b143f
Work around held libunwind-dev on Ubuntu 22.04 runners
danoli3 Aug 20, 2026
08252e0
Remove unused modclean dependency
danoli3 Aug 20, 2026
3159157
Fix addon-clone modal buttons, folder-open, and feedback
danoli3 Aug 20, 2026
f77925d
Fix console panel visibility bug, make it resizable
danoli3 Aug 20, 2026
03c43b0
Emscripten: skip IDE button, style dropdown, add build feedback, emma…
danoli3 Aug 20, 2026
02b625d
Fix stale Emscripten button leaking into unrelated update-multiple su…
danoli3 Aug 20, 2026
9f03278
Fix Windows PATH casing when resolving Emscripten SDK env
danoli3 Aug 21, 2026
9acfa8c
Always show rescan-addons icon instead of only on missing addons
danoli3 Aug 21, 2026
b687a6b
Add progress feedback to Update multiple
danoli3 Aug 21, 2026
9f1332f
Fix settings.json save race that could drop the OF path on quit
danoli3 Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
206 changes: 154 additions & 52 deletions .github/workflows/build-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ jobs:
steps:
# - name: Install libunwind
# run: sudo apt-get install libunwind-dev wget2

- uses: actions/checkout@v4

- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.14
with:
key: ${{ matrix.cfg.target }}

- name: Determine Release
id: vars
shell: bash
Expand All @@ -56,56 +56,34 @@ jobs:
fi
TAG_NAME=${GITHUB_REF#refs/tags/}
echo "TAG_NAME=${TAG_NAME}" >> $GITHUB_ENV

- name: Install
run: ./scripts/linux/ci_install_core.sh

- name: List directory
run: ls -lah ./

- name: Build
run: ./../openFrameworks/apps/projectGenerator/scripts/linux/build_cmdline.sh

- name: Test cmdline
- name: Test cmdline
run: ./../openFrameworks/apps/projectGenerator/scripts/linux/test_cmdline.sh

- name: List output directory
run: ls -lah ./../openFrameworks/apps/projectGenerator/commandLine/bin

- name: Copy commandLine to frontend
run: |
cp ./../openFrameworks/apps/projectGenerator/commandLine/bin/projectGenerator ./../openFrameworks/apps/projectGenerator/frontend/app/projectGenerator
chmod 755 ./../openFrameworks/apps/projectGenerator/commandLine/bin/projectGenerator

- name: Build and Package projectGenerator Linux GUI
shell: bash
run: |
cd ../openFrameworks/apps/projectGenerator/frontend
npm install
npm update
npm run dist:linux64
cd dist
pwd
ls

- name: Build and Package projectGenerator Linux GUI
shell: bash
run: |
cd ../openFrameworks/apps/projectGenerator/frontend
npm install
npm update
npm run dist:linux:arm64
cd dist
pwd
ls

- name: Build and Package projectGenerator Linux GUI
shell: bash
run: |
cd ../openFrameworks/apps/projectGenerator/frontend
npm install
npm update
npm run dist:linux:armv7l
npm run dist:linux64
cd dist
pwd
ls
Expand All @@ -116,18 +94,8 @@ jobs:
- name: Copy GUI tarball to root directory
run: |
cd ./../openFrameworks/apps/projectGenerator/frontend/dist
mv projectGenerator-0.95.0.tar.gz $GITHUB_WORKSPACE/projectGenerator-linux-gui.gz

- name: Copy GUI tarball to root directory
run: |
cd ./../openFrameworks/apps/projectGenerator/frontend/dist
mv projectGenerator-0.95.0-arm64.tar.gz $GITHUB_WORKSPACE/projectGenerator-linux-arm64-gui.gz
mv projectGenerator-*.tar.gz $GITHUB_WORKSPACE/projectGenerator-linux-gui.gz

- name: Copy GUI tarball to root directory
run: |
cd ./../openFrameworks/apps/projectGenerator/frontend/dist
mv projectGenerator-0.95.0-armv7l.tar.gz $GITHUB_WORKSPACE/projectGenerator-linux-armv7l-gui.gz

- name: Test Artefact zip
run: |
cd ./../openFrameworks/apps/projectGenerator/commandLine/bin/
Expand All @@ -154,26 +122,160 @@ jobs:
tag_name: ${{ env.RELEASE }}
files: projectGenerator-linux-gui.gz

- name: Update Release Linux gui - arm64
- name: Update Latest Tag - DateTime
uses: EndBug/latest-tag@latest
if: github.repository == 'openframeworks/projectGenerator' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
with:
ref: nightly
description: Latest Always Nightly Builds
force-branch: true

# Ubuntu 22.04 build - older glibc baseline, covers users/distros that can't
# run binaries linked against 24.04's newer glibc.
build-linux-ubuntu22:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4

- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.14
with:
key: ubuntu22-linux

- name: Determine Release
shell: bash
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
echo "RELEASE=nightly" >> $GITHUB_ENV
elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
echo "RELEASE=bleeding" >> $GITHUB_ENV
else
echo "RELEASE=bleeding" >> $GITHUB_ENV
fi

- name: Install
run: ./scripts/linux/ci_install_core.sh

- name: Build
run: ./../openFrameworks/apps/projectGenerator/scripts/linux/build_cmdline.sh

- name: Test cmdline
run: ./../openFrameworks/apps/projectGenerator/scripts/linux/test_cmdline.sh

- name: Copy commandLine to frontend
run: |
cp ./../openFrameworks/apps/projectGenerator/commandLine/bin/projectGenerator ./../openFrameworks/apps/projectGenerator/frontend/app/projectGenerator
chmod 755 ./../openFrameworks/apps/projectGenerator/commandLine/bin/projectGenerator

- name: Build and Package projectGenerator Linux GUI
shell: bash
run: |
cd ../openFrameworks/apps/projectGenerator/frontend
npm install
npm update
npm run dist:linux64

- name: Copy GUI tarball to root directory
run: |
cd ./../openFrameworks/apps/projectGenerator/frontend/dist
mv projectGenerator-*.tar.gz $GITHUB_WORKSPACE/projectGenerator-linux-ubuntu22-gui.gz

- name: Test Artefact zip
run: |
cd ./../openFrameworks/apps/projectGenerator/commandLine/bin/
tar -cjf projectGenerator-linux-ubuntu22.tar.bz2 projectGenerator
mv projectGenerator-linux-ubuntu22.tar.bz2 $GITHUB_WORKSPACE/projectGenerator-linux-ubuntu22.tar.bz2

- name: Update Release Linux ubuntu22
if: github.repository == 'openframeworks/projectGenerator' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
uses: softprops/action-gh-release@v2.0.8
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ env.RELEASE }}
files: projectGenerator-linux-arm64-gui.gz
files: projectGenerator-linux-ubuntu22.tar.bz2

- name: Update Release Linux gui - armv7l
- name: Update Release Linux gui ubuntu22
if: github.repository == 'openframeworks/projectGenerator' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
uses: softprops/action-gh-release@v2.0.8
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ env.RELEASE }}
files: projectGenerator-linux-armv7l-gui.gz
files: projectGenerator-linux-ubuntu22-gui.gz

- name: Update Latest Tag - DateTime
uses: EndBug/latest-tag@latest
if: github.repository == 'openframeworks/projectGenerator' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
# Native arm64 build for Raspberry Pi (64-bit Raspberry Pi OS / Ubuntu on Pi 3+).
# Runs on a real arm64 runner so the commandLine binary is actually arm64 -
# the previous armv7l/arm64 GUI packages just repackaged the x64 binary built
# above, which can't run on arm hardware at all.
build-linux-arm64:
runs-on: ubuntu-22.04-arm
steps:
- uses: actions/checkout@v4

- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.14
with:
ref: nightly
description: Latest Always Nightly Builds
force-branch: true
key: arm64-linux

- name: Determine Release
shell: bash
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
echo "RELEASE=nightly" >> $GITHUB_ENV
elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
echo "RELEASE=bleeding" >> $GITHUB_ENV
else
echo "RELEASE=bleeding" >> $GITHUB_ENV
fi

- name: Install
run: ./scripts/linux/ci_install_core.sh

- name: Build
run: ./../openFrameworks/apps/projectGenerator/scripts/linux/build_cmdline.sh

- name: Test cmdline
run: ./../openFrameworks/apps/projectGenerator/scripts/linux/test_cmdline.sh

- name: Copy commandLine to frontend
run: |
cp ./../openFrameworks/apps/projectGenerator/commandLine/bin/projectGenerator ./../openFrameworks/apps/projectGenerator/frontend/app/projectGenerator
chmod 755 ./../openFrameworks/apps/projectGenerator/commandLine/bin/projectGenerator

- name: Build and Package projectGenerator Linux GUI
shell: bash
run: |
cd ../openFrameworks/apps/projectGenerator/frontend
npm install
npm update
npm run dist:linux:arm64

- name: Copy GUI tarball to root directory
run: |
cd ./../openFrameworks/apps/projectGenerator/frontend/dist
mv projectGenerator-*-arm64.tar.gz $GITHUB_WORKSPACE/projectGenerator-linux-arm64-gui.gz

- name: Test Artefact zip
run: |
cd ./../openFrameworks/apps/projectGenerator/commandLine/bin/
tar -cjf projectGenerator-linux-arm64.tar.bz2 projectGenerator
mv projectGenerator-linux-arm64.tar.bz2 $GITHUB_WORKSPACE/projectGenerator-linux-arm64.tar.bz2

- name: Update Release Linux arm64
if: github.repository == 'openframeworks/projectGenerator' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
uses: softprops/action-gh-release@v2.0.8
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ env.RELEASE }}
files: projectGenerator-linux-arm64.tar.bz2

- name: Update Release Linux gui arm64
if: github.repository == 'openframeworks/projectGenerator' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
uses: softprops/action-gh-release@v2.0.8
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ env.RELEASE }}
files: projectGenerator-linux-arm64-gui.gz
2 changes: 1 addition & 1 deletion .github/workflows/build-vs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22
- uses: msys2/setup-msys2@v2
with:
update: true
Expand Down
2 changes: 1 addition & 1 deletion commandLine/App.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ OF_NO_FMOD = 1

OF_CORE_LIBS = $(LIB_GLEW) $(LIB_PUGIXML)
OF_CORE_HEADERS = $(HEADER_OF) $(HEADER_FREETYPE) $(HEADER_FREETYPE2) $(HEADER_FMOD) $(HEADER_GLEW) $(HEADER_FREEIMAGE) $(HEADER_TESS2) $(HEADER_CAIRO) $(HEADER_RTAUDIO) $(HEADER_GLFW) $(HEADER_UTF8) $(HEADER_JSON) $(HEADER_GLM) $(HEADER_CURL) ${HEADER_SSL} $(HEADER_URIPARSER) $(HEADER_PUGIXML) ${HEADER_BROTLI}
OF_CORE_FRAMEWORKS = -framework Accelerate -framework AGL -framework AppKit -framework ApplicationServices -framework AudioToolbox -framework AVFoundation -framework Cocoa -framework CoreAudio -framework CoreFoundation -framework CoreMedia -framework CoreServices -framework CoreVideo -framework Foundation -framework IOKit -framework OpenGL -framework QuartzCore -framework Security -framework SystemConfiguration -framework Metal
OF_CORE_FRAMEWORKS = -framework Accelerate -framework AppKit -framework ApplicationServices -framework AudioToolbox -framework AVFoundation -framework Cocoa -framework CoreAudio -framework CoreFoundation -framework CoreMedia -framework CoreServices -framework CoreVideo -framework Foundation -framework IOKit -framework OpenGL -framework QuartzCore -framework Security -framework SystemConfiguration -framework Metal
Loading
Loading