Skip to content

Commit

Permalink
🚀 [CI] Build AppImage on Linux
Browse files Browse the repository at this point in the history
  • Loading branch information
JulesFouchy committed Feb 24, 2025
1 parent 4c88e7f commit 13b666e
Show file tree
Hide file tree
Showing 11 changed files with 68 additions and 10 deletions.
49 changes: 39 additions & 10 deletions .github/workflows/create_release_executables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,19 +114,23 @@ jobs:
cmakeBuildType: Release
buildDirectory: ${{github.workspace}}/build

- name: Copy licenses
- name: Copy licenses (Windows and MacOS)
if: runner.os != 'Linux'
shell: pwsh
run: |
cd ${{github.workspace}}/build
cmake --install . --prefix tmp_install
New-Item -ItemType Directory -Path "${{github.workspace}}/bin/Release/license"
Copy-Item -Path tmp_install/license/* -Destination ${{github.workspace}}/bin/Release/license/ -Recurse
- name: Zip Release binaries (Linux and MacOS)
if: runner.os != 'Windows'
- name: Copy licenses (Linux)
if: runner.os == 'Linux'
shell: pwsh
run: |
cd ${{github.workspace}}/bin/Release
zip -r ${{github.workspace}}/build/Coollab-${{matrix.config.name}}.zip .
cd ${{github.workspace}}/build
cmake --install . --prefix tmp_install
New-Item -ItemType Directory -Path "${{github.workspace}}/app-resources/Coollab.AppDir/usr/share/licenses/coollab"
Copy-Item -Path tmp_install/license/* -Destination ${{github.workspace}}/app-resources/Coollab.AppDir/usr/share/licenses/coollab -Recurse
- name: Zip Release binaries (Windows)
if: runner.os == 'Windows'
Expand All @@ -136,11 +140,24 @@ jobs:
Get-ChildItem -Path ${{github.workspace}}\bin\Release\ -Filter "*.dll" -Recurse | Remove-Item -Force
Compress-Archive -Path ${{github.workspace}}\bin\Release\* -DestinationPath ${{github.workspace}}\build\Coollab-${{matrix.config.name}}.zip
- name: Release (Linux and MacOS)
if: runner.os != 'Windows'
uses: softprops/action-gh-release@v1
with:
files: ${{github.workspace}}/build/Coollab-${{matrix.config.name}}.zip
- name: Build AppImage (Linux)
if: runner.os == 'Linux'
run: |
cd app-resources
mkdir -p Coollab.AppDir/usr/bin/
cp -r "${{github.workspace}}/bin/Release/"* Coollab.AppDir/usr/bin/
strip Coollab.AppDir/usr/bin/Coollab
chmod +x Coollab.AppDir/AppRun
wget https://github.com/linuxdeploy/linuxdeploy/releases/latest/download/linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
./linuxdeploy-x86_64.AppImage --appdir Coollab.AppDir --output appimage
mv Coollab-x86_64.AppImage Coollab.AppImage
- name: Zip Release binaries (MacOS)
if: runner.os == 'MacOS'
run: |
cd ${{github.workspace}}/bin/Release
zip -r ${{github.workspace}}/build/Coollab-${{matrix.config.name}}.zip .
- name: Release (Windows)
if: runner.os == 'Windows'
Expand All @@ -149,3 +166,15 @@ jobs:
files: |
build/Coollab-${{matrix.config.name}}.zip
build/Coollab-${{matrix.config.name}}-WithDLLs.zip
- name: Release (Linux)
if: runner.os == 'Linux'
uses: softprops/action-gh-release@v1
with:
files: ${{github.workspace}}/app-resources/Coollab.AppImage

- name: Release (MacOS)
if: runner.os == 'MacOS'
uses: softprops/action-gh-release@v1
with:
files: ${{github.workspace}}/build/Coollab-${{matrix.config.name}}.zip
2 changes: 2 additions & 0 deletions app-resources/Coollab.AppDir/AppRun
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/bash
exec "$(dirname "$0")/usr/bin/Coollab" "$@"
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[Desktop Entry]
Type=Application
Name=Coollab
Exec=Coollab
Icon=Coollab
Categories=Graphics;2DGraphics;3DGraphics;RasterGraphics;
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<appstream>
<component type="desktop">
<id>coollab</id>
<name>Coollab</name>
<summary>A node-based software to create visual effects and generative-art</summary>
<description>
Coollab's main goal is to be as intuitive and easy to use as possible. Effects are high-level and they just work out of the box! You don't need to know any math or programming to make your own very cool effects! (Although having those skills allows you to do some advanced stuff).
Start with any image or shape, like your Webcam, add any modifier on top of it, like a Kaleidoscope, and you already have some cool results. You can then play with the 100s of effects to change the color, distort the image, add particles, react to audio, and much more!
Coollab can be used for VJing, exporting videos, creating interactive installations, etc.!
</description>
<keywords>generative, nodes, art, 2D, 3D, shader, motion design,</keywords>
<homepage>https://coollab-art.com/</homepage>
<license>GPL3</license>
<icon type="png">Coollab.png</icon>
<screenshots>
<screenshot type="image/png">https://coollab-art.com/img/lab/1.png</screenshot>
<screenshot type="image/png">https://coollab-art.com/assets/images/demo%20V1_merged-08b5b22d707f814a7a0e8d6145a599d8.png</screenshot>
</screenshots>
</component>
</appstream>

0 comments on commit 13b666e

Please sign in to comment.