From 846e8eb3513d61e59f72d5930a5500bfba4b3e8d Mon Sep 17 00:00:00 2001 From: sunerok <8443713+justinvforvendetta@users.noreply.github.com> Date: Sun, 3 Aug 2025 18:05:13 -0400 Subject: [PATCH 01/12] Create linux.yml --- .github/workflows/linux.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/linux.yml diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 0000000..e3ba705 --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,20 @@ +on: + push +jobs: + ubuntu24: + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + + - name: Update apt repos + run: sudo apt-get update + + - name: Install base dependencies + run: sudo apt-get install build-essential libfuse2 fonts-noto-color-emoji libdbus-1-dev + + - name: Build webbluetooth dependency + run: cd api/webbluetooth \ + npm i \ + npm run build:all \ + From 624cb87c700f9e4fb3e33b61b35aa6f295994d85 Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 18:07:22 -0400 Subject: [PATCH 02/12] update workflow --- .github/workflows/linux.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index e3ba705..ac9eabe 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -11,10 +11,11 @@ jobs: run: sudo apt-get update - name: Install base dependencies - run: sudo apt-get install build-essential libfuse2 fonts-noto-color-emoji libdbus-1-dev + run: sudo apt-get install -y build-essential libfuse2 fonts-noto-color-emoji libdbus-1-dev - name: Build webbluetooth dependency - run: cd api/webbluetooth \ - npm i \ - npm run build:all \ + run: | + cd api/webbluetooth + npm install + npm run build:all From a376554a6caff1102166f41f1d124da0aaa23144 Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 18:08:21 -0400 Subject: [PATCH 03/12] ubuntu 24 to 22 --- .github/workflows/linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ac9eabe..8a88fa4 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -1,8 +1,8 @@ on: push jobs: - ubuntu24: - runs-on: ubuntu-24.04 + ubuntu22: + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 From efe5b08d79719fb7ff8c15e5be29dbcf0338ef7f Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 18:17:09 -0400 Subject: [PATCH 04/12] add recursive --- .github/workflows/linux.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 8a88fa4..c08c675 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -5,17 +5,19 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - name: Checkout repository (with submodules) + uses: actions/checkout@v4 + with: + submodules: recursive - name: Update apt repos run: sudo apt-get update - name: Install base dependencies - run: sudo apt-get install -y build-essential libfuse2 fonts-noto-color-emoji libdbus-1-dev + run: sudo apt-get install build-essential libfuse2 fonts-noto-color-emoji libdbus-1-dev - name: Build webbluetooth dependency run: | cd api/webbluetooth npm install - npm run build:all - + npm run build || npm run build:all || echo "No build or build:all script found" \ No newline at end of file From 41b17433a8183d31ced4bba595fdae1dc639870e Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 18:23:51 -0400 Subject: [PATCH 05/12] add updates.mjs to workflow after building webbluetooth --- .github/workflows/linux.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index c08c675..c00b6f8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -20,4 +20,9 @@ jobs: run: | cd api/webbluetooth npm install - npm run build || npm run build:all || echo "No build or build:all script found" \ No newline at end of file + npm run build || npm run build:all || echo "No build or build:all script found" + + - name: updates + run: ./update.mjs + + \ No newline at end of file From fc77cba841bd93a00db8e183e5c5099da1af1cac Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 18:41:08 -0400 Subject: [PATCH 06/12] add electron appimage --- .github/workflows/linux.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index c00b6f8..4802b8f 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -25,4 +25,10 @@ jobs: - name: updates run: ./update.mjs - \ No newline at end of file + - name: Install dependencies for Electron app + run: npm install + + - name: Build Electron AppImage + run: npx electron-builder --linux AppImage + + \ No newline at end of file From fa574ab69c5c3a96dcb394f087440f2c5733a15b Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 18:46:05 -0400 Subject: [PATCH 07/12] Create package.json --- package.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 package.json diff --git a/package.json b/package.json new file mode 100644 index 0000000..0b5aaab --- /dev/null +++ b/package.json @@ -0,0 +1,8 @@ +"build": { + "appId": "com.meshtastic.meshtastic", + "productName": "Meshtastic", + "linux": { + "target": "AppImage", + "category": "Utility" + } +} \ No newline at end of file From f7a3fb5791668142e1a9f9725c6200b588bf8d28 Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 18:58:38 -0400 Subject: [PATCH 08/12] add checksums --- .github/workflows/linux.yml | 12 ++++++++++++ package.json | 8 -------- 2 files changed, 12 insertions(+), 8 deletions(-) delete mode 100644 package.json diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 4802b8f..debb998 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -31,4 +31,16 @@ jobs: - name: Build Electron AppImage run: npx electron-builder --linux AppImage + - name: Generate SHA256 checksum + run: | + cd dist + sha256sum *.AppImage > sha256sum.txt + + - name: Upload AppImage and checksum + uses: actions/upload-artifact@v4 + with: + name: linux-build-artifacts + path: | + dist/*.AppImage + dist/sha256sum.txt \ No newline at end of file diff --git a/package.json b/package.json deleted file mode 100644 index 0b5aaab..0000000 --- a/package.json +++ /dev/null @@ -1,8 +0,0 @@ -"build": { - "appId": "com.meshtastic.meshtastic", - "productName": "Meshtastic", - "linux": { - "target": "AppImage", - "category": "Utility" - } -} \ No newline at end of file From ebfc362a8a9d2d091fa1b0b39be0eebd55d8221c Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 19:13:43 -0400 Subject: [PATCH 09/12] fix workflow a bit --- .github/workflows/linux.yml | 43 +++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index debb998..ab13015 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -1,46 +1,51 @@ on: push + jobs: - ubuntu22: + build-linux: runs-on: ubuntu-22.04 steps: - - name: Checkout repository (with submodules) + - name: Checkout repo (with submodules) uses: actions/checkout@v4 with: submodules: recursive - - name: Update apt repos - run: sudo apt-get update - - - name: Install base dependencies - run: sudo apt-get install build-essential libfuse2 fonts-noto-color-emoji libdbus-1-dev + - name: Update apt repos & install build deps + run: | + sudo apt-get update + sudo apt-get install -y build-essential libfuse2 fonts-noto-color-emoji libdbus-1-dev - name: Build webbluetooth dependency run: | cd api/webbluetooth npm install - npm run build || npm run build:all || echo "No build or build:all script found" + npm run build:all - - name: updates + - name: Run update script run: ./update.mjs - - name: Install dependencies for Electron app - run: npm install + - name: Install electron dependencies + run: | + cd electron + npm install - name: Build Electron AppImage - run: npx electron-builder --linux AppImage + run: | + cd electron + npx electron-builder --linux AppImage - - name: Generate SHA256 checksum + - name: Generate SHA‑256 checksum run: | - cd dist + cd electron/dist sha256sum *.AppImage > sha256sum.txt + cat sha256sum.txt - - name: Upload AppImage and checksum + - name: Upload AppImage & checksum artifacts uses: actions/upload-artifact@v4 with: - name: linux-build-artifacts + name: meshsense-linux path: | - dist/*.AppImage - dist/sha256sum.txt - \ No newline at end of file + electron/dist/*.AppImage + electron/dist/sha256sum.txt + \ No newline at end of file From 158b9918d018d38f2b4417944a877e4b126a3f7e Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 19:17:56 -0400 Subject: [PATCH 10/12] Update linux.yml --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ab13015..d1b3625 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -19,7 +19,7 @@ jobs: - name: Build webbluetooth dependency run: | cd api/webbluetooth - npm install + npm i npm run build:all - name: Run update script From 7ac48df4ba603a651091eb1b891d94c098e83425 Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 19:22:29 -0400 Subject: [PATCH 11/12] Update linux.yml --- .github/workflows/linux.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d1b3625..6f15bb4 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -30,6 +30,17 @@ jobs: cd electron npm install + - name: Ensure Electron build output exists + run: | + cd electron + # Check if entry file exists + if [ ! -f "out/main/index.js" ]; then + echo "⚠️ Entry file missing. Running build..." + npm run build || npm run build:all || echo "No build script available, skipping..." + else + echo "✅ Build output detected. Skipping rebuild." + fi + - name: Build Electron AppImage run: | cd electron @@ -48,4 +59,3 @@ jobs: path: | electron/dist/*.AppImage electron/dist/sha256sum.txt - \ No newline at end of file From ccd94110e04d18c2bbbfac4f747cdfe698676711 Mon Sep 17 00:00:00 2001 From: sunerok Date: Sun, 3 Aug 2025 19:41:59 -0400 Subject: [PATCH 12/12] update ubuntu 22 to 24 --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 6f15bb4..45082ba 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -3,7 +3,7 @@ on: jobs: build-linux: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout repo (with submodules)