Skip to content

Commit 7e7e84e

Browse files
Update codo.yml
1 parent 0cafd7e commit 7e7e84e

1 file changed

Lines changed: 11 additions & 94 deletions

File tree

.github/workflows/codo.yml

Lines changed: 11 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
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

Comments
 (0)