2121
2222 - name : Export Godot Project
2323 uses : firebelley/godot-export@v7.0.0
24- with :
24+ with :
2525 godot_executable_download_url : https://github.com/godotengine/godot-builds/releases/download/4.4.1-stable/Godot_v4.4.1-stable_linux.x86_64.zip
2626 godot_export_templates_download_url : https://github.com/godotengine/godot-builds/releases/download/4.4.1-stable/Godot_v4.4.1-stable_export_templates.tpz
2727 relative_project_path : ./
@@ -31,28 +31,18 @@ jobs:
3131
3232 - name : Install linuxdeploy
3333 run : |
34- # Download linuxdeploy
3534 wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
3635 chmod +x linuxdeploy-x86_64.AppImage
37-
38- # Download linuxdeploy appimage plugin
3936 wget https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage
4037 chmod +x linuxdeploy-plugin-appimage-x86_64.AppImage
4138
4239 - name : Prepare build outputs
4340 run : |
44- # Create output directory
4541 mkdir -p build/releases
46-
47- # Copy the base executable
4842 cp build/Codo/Codo.x86_64 build/releases/Codo.x86_64
4943 chmod +x build/releases/Codo.x86_64
50-
51- # Create a bundled executable with library
5244 cp build/Codo/Codo.x86_64 build/releases/codo
5345 chmod +x build/releases/codo
54-
55- # Find and copy the gdterm library
5646 if [ -f "addons/gdterm/bin/libgdterm.linux.template_release.x86_64.so" ]; then
5747 cp addons/gdterm/bin/libgdterm.linux.template_release.x86_64.so build/releases/
5848 echo "Found gdterm library at addons/gdterm/bin/"
@@ -63,189 +53,122 @@ jobs:
6353
6454 - name : Prepare AppDir structure
6555 run : |
66- # Create the AppDir structure
6756 mkdir -p AppDir/usr/bin
6857 mkdir -p AppDir/usr/lib
6958 mkdir -p AppDir/usr/share/applications
7059 mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps
7160 mkdir -p AppDir/usr/share/icons/hicolor/512x512/apps
72-
73- # Copy the Godot executable
7461 cp build/Codo/Codo.x86_64 AppDir/usr/bin/
7562 chmod +x AppDir/usr/bin/Codo.x86_64
76-
77- # Copy the required library
7863 if [ -f "addons/gdterm/bin/libgdterm.linux.template_release.x86_64.so" ]; then
7964 cp addons/gdterm/bin/libgdterm.linux.template_release.x86_64.so AppDir/usr/lib/
8065 echo "Added gdterm library to AppDir"
8166 else
8267 echo "Warning: libgdterm.so not found."
8368 fi
84-
85- # Copy desktop file
8669 cp packaging/codo.desktop AppDir/usr/share/applications/
87-
88- # Copy icons to proper locations
8970 cp packaging/codo-icon.png AppDir/usr/share/icons/hicolor/256x256/apps/
9071 cp packaging/codo-icon.png AppDir/usr/share/icons/hicolor/512x512/apps/
91-
92- # Create proper AppRun launcher script
9372 cat > AppDir/AppRun << 'EOF'
9473 #!/bin/bash
95-
96- # Get the current working directory where user ran the AppImage
9774 USER_PWD="$PWD"
98-
99- # Set up library path to include our custom libraries
10075 export LD_LIBRARY_PATH="$APPDIR/usr/lib:$LD_LIBRARY_PATH"
101-
102- # Keep the working directory as where user ran the AppImage
10376 cd "$USER_PWD"
104-
105- # Execute the main application
10677 exec "$APPDIR/usr/bin/Codo.x86_64" "$@"
10778 EOF
10879 chmod +x AppDir/AppRun
109-
110- # Copy desktop file and icon to root of AppDir (required by AppImage spec)
11180 cp AppDir/usr/share/applications/codo.desktop AppDir/
11281 cp packaging/codo-icon.png AppDir/
11382
11483 - name : Verify AppDir structure
11584 run : |
11685 echo "AppDir structure:"
11786 find AppDir -type f -exec ls -la {} \;
118-
11987 echo ""
12088 echo "Desktop file content:"
12189 cat AppDir/codo.desktop
122-
12390 echo ""
12491 echo "AppRun content:"
12592 head -20 AppDir/AppRun
12693
12794 - name : Build AppImage with linuxdeploy - FIXED VERSION
128- run : |
129- # Set OUTPUT variable for naming
95+
96+ run : |
13097 export OUTPUT="Codo-x86_64.AppImage"
131-
132- # Run linuxdeploy with explicit output naming
13398 ./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin appimage --output appimage -v 0
134-
135- # Debug: List all files created
13699 echo "Files in current directory after linuxdeploy:"
137100 ls -la *.AppImage* || echo "No AppImage files found!"
138101 ls -la Codo* || echo "No Codo files found!"
139-
140- # Try different possible names
141102 APPIMAGE_FILE=""
142103 if [ -f "Codo-x86_64.AppImage" ]; then
143104 APPIMAGE_FILE="Codo-x86_64.AppImage"
144105 elif [ -f "Codo.AppImage" ]; then
145- APPIMAGE_FILE="Codo.AppImage"
106+ APPIMAGE_FILE="Codo.AppImage"
146107 elif [ -f *.AppImage ]; then
147108 APPIMAGE_FILE=$(ls *.AppImage | head -1)
148109 fi
149-
150110 if [ -n "$APPIMAGE_FILE" ] && [ -f "$APPIMAGE_FILE" ]; then
151111 echo "✅ Found AppImage: $APPIMAGE_FILE"
152112 chmod +x "$APPIMAGE_FILE"
153-
154- # Move to build directory
155113 mkdir -p build/releases
156114 mv "$APPIMAGE_FILE" build/releases/Codo.AppImage
157115 chmod +x build/releases/Codo.AppImage
158-
159116 echo "✅ AppImage created successfully: $(ls -lh build/releases/Codo.AppImage)"
160117 else
161118 echo "❌ ERROR: No AppImage file found after build!"
162119 echo "Available files:"
163120 ls -la
164121 exit 1
165122 fi
166-
167- - name : Create Uncompressed Portable Version
168- run : |
169- echo "Creating uncompressed portable version..."
170123
171- # Create portable directory
124+ - name: Create Uncompressed Portable Version
125+ run: |
126+ echo "Creating uncompressed portable version..."
172127 mkdir -p build/releases/Codo-Portable-Linux
173-
174- # Copy AppDir contents
175128 cp -r AppDir/* build/releases/Codo-Portable-Linux/
176-
177- # Create run script
178129 cat > build/releases/Codo-Portable-Linux/run.sh << 'EOF'
179130 #!/bin/bash
180-
181- # Get script directory
182131 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
183-
184- # Set library path
185132 export LD_LIBRARY_PATH="$DIR/usr/lib:$LD_LIBRARY_PATH"
186-
187- # Keep user's working directory
188133 cd "$PWD"
189-
190- # Run the executable
191134 exec "$DIR/usr/bin/Codo.x86_64" "$@"
192135 EOF
193-
194136 chmod +x build/releases/Codo-Portable-Linux/run.sh
195137 chmod +x build/releases/Codo-Portable-Linux/usr/bin/Codo.x86_64
196-
197- # Create install script
198138 cat > build/releases/Codo-Portable-Linux/install.sh << 'EOF'
199139 #!/bin/bash
200140 echo "Installing Codo to system..."
201-
202- # Copy binary
203141 sudo cp usr/bin/Codo.x86_64 /usr/local/bin/codo
204142 sudo chmod +x /usr/local/bin/codo
205-
206- # Copy library
207143 sudo cp usr/lib/*.so /usr/local/lib/ 2>/dev/null || true
208-
209- # Copy desktop file
210144 sudo cp codo.desktop /usr/share/applications/
211-
212- # Copy icons
213145 sudo cp -r usr/share/icons/* /usr/share/icons/
214-
215- # Update desktop database
216146 sudo update-desktop-database 2>/dev/null || true
217-
218147 echo "✅ Installation complete! You can now run 'codo' from anywhere."
219148 EOF
220-
221149 chmod +x build/releases/Codo-Portable-Linux/install.sh
222-
223150 echo "✅ Portable version created"
224151
225152 - name: Verify all build outputs
226153 run: |
227154 echo "Final build outputs:"
228155 ls -la build/releases/
229-
230156 echo ""
231157 echo "Portable directory contents:"
232158 ls -la build/releases/Codo-Portable-Linux/
233-
234159 echo ""
235160 echo "Testing executables..."
236161 file build/releases/Codo.x86_64 || echo "Standard binary not found"
237- file build/releases/codo || echo "Bundled binary not found"
162+ file build/releases/codo || echo "Bundled binary not found"
238163 file build/releases/Codo.AppImage || echo "AppImage not found"
239164 file build/releases/Codo-Portable-Linux/usr/bin/Codo.x86_64 || echo "Portable binary not found"
240-
241165 echo ""
242166 echo "Checking if files are executable..."
243167 if [ -x "build/releases/Codo.AppImage" ]; then
244168 echo "✅ AppImage is executable"
245169 else
246170 echo "❌ AppImage is not executable"
247171 fi
248-
249172 if [ -x "build/releases/Codo-Portable-Linux/run.sh" ]; then
250173 echo "✅ Portable run script is executable"
251174 else
@@ -266,7 +189,7 @@ jobs:
266189 path: build/releases/Codo.x86_64
267190 compression-level: 0
268191
269- - name : Upload bundled binary artifact
192+ - name : Upload bundled binary artifact
270193 uses : actions/upload-artifact@v4
271194 with :
272195 name : Codo-Bundled-Binary
@@ -299,22 +222,16 @@ jobs:
299222 - name : Prepare release files
300223 run : |
301224 mkdir -p release-files
302-
303- # Move all artifacts to release files
304225 find artifacts/ -type f -exec cp {} release-files/ \;
305-
306- # Make sure all files are executable
307226 chmod +x release-files/Codo.AppImage 2>/dev/null || true
308227 chmod +x release-files/Codo.x86_64 2>/dev/null || true
309228 chmod +x release-files/codo 2>/dev/null || true
310229 chmod +x release-files/codo-wrapper 2>/dev/null || true
311-
312- # Create a comprehensive README
313230 cat > release-files/README.md << 'EOF'
314231 # Codo - Code Editor Release Files
315-
316232 ls -la release-files/
317233 echo "Release files prepared successfully"
234+ EOF
318235
319236 - name : Create tarball for portable version
320237 run : |
@@ -340,7 +257,7 @@ jobs:
340257 release-files/Codo.AppImage
341258 release-files/Codo.x86_64
342259 release-files/codo
343- release-files/codo-wrapper
260+ release-files/codo-wrapper
344261 release-files/libgdterm.linux.template_release.x86_64.so
345262 release-files/Codo-Portable-Linux.tar.gz
346263 env :
0 commit comments