Browse Source

Squashed commit of the following:

commit 4efcf1bbd667ce5b25dd0da873738b22604af786
Author: Eugene <[email protected]>
Date:   Wed Jan 22 23:07:24 2025 +0100

    Update build.yml

commit abea964d94b27729edf29f73543454507084965c
Author: Eugene <[email protected]>
Date:   Wed Jan 22 22:59:28 2025 +0100

    Update build.yml

commit 2e7b66ac606e1c7c16fe483b4cddf4e06c44c7a2
Author: Eugene <[email protected]>
Date:   Wed Jan 22 22:40:11 2025 +0100

    native arm64 build
Eugene 9 months ago
parent
commit
2fa7678bec
1 changed files with 14 additions and 6 deletions
  1. 14 6
      .github/workflows/build.yml

+ 14 - 6
.github/workflows/build.yml

@@ -130,7 +130,7 @@ jobs:
         path: artifact-zip
 
   Linux-Build:
-    runs-on: ubuntu-24.04
+    runs-on: ${{matrix.os}}
     needs: Lint
     strategy:
       matrix:
@@ -138,14 +138,17 @@ jobs:
           - build-arch: x64
             arch: amd64
             rust_triple: x86_64-unknown-linux-gnu
+            os: ubuntu-24.04
           - build-arch: arm64
             arch: arm64
             rust_triple: aarch64-unknown-linux-gnu
             triplet: aarch64-linux-gnu-
+            os: ubuntu-24.04-arm
           - build-arch: arm
             arch: armhf
             rust_triple: arm-unknown-linux-gnueabihf
             triplet: arm-linux-gnueabihf-
+            os: ubuntu-24.04
       fail-fast: false
 
     env:
@@ -167,6 +170,10 @@ jobs:
       with:
         node-version: 22
 
+    - name: Install FPM
+      run: |
+        sudo gem install fpm
+
     - run: rustup target add ${{matrix.rust_triple}}
 
     - name: Install dependencies
@@ -176,12 +183,12 @@ jobs:
 
     - name: Setup tar to run as root
       run: sudo chmod u+s "$(command -v tar)"
-      if: matrix.build-arch != 'x64'
+      if: matrix.build-arch == 'arm'
 
     - name: Download cached sysroot
       uses: actions/cache@v3
       id: dl-cached-sysroot
-      if: matrix.build-arch !='x64'
+      if: matrix.build-arch == 'arm'
       with:
         key: sysroot-${{matrix.build-arch}}
         path: /${{matrix.build-arch}}-sysroot
@@ -191,7 +198,7 @@ jobs:
         sudo apt-get update -y && sudo apt-get install debootstrap qemu-user-static binfmt-support -y
         sudo qemu-debootstrap --include=libfontconfig1-dev,libsecret-1-dev,libnss3,libatk1.0-0,libatk-bridge2.0-0,libgdk-pixbuf2.0-0,libgtk-3-0,libgbm1 --variant=buildd --exclude=snapd --components=main,restricted,universe,multiverse --extractor=dpkg-deb --arch ${{matrix.arch}} bionic /${{matrix.build-arch}}-sysroot/ http://ports.ubuntu.com/ubuntu-ports/
         sudo find /${{matrix.build-arch}}-sysroot -type l -lname '/*' -exec sh -c 'file="$0"; dir=$(dirname "$file"); target=$(readlink "$0"); prefix=$(dirname "$dir" | sed 's@[^/]*@\.\.@g'); newtarget="$prefix$target"; ln -snf $newtarget $file' {} \; ;
-      if: matrix.build-arch != 'x64' && steps.dl-cached-sysroot.outputs.cache-hit != 'true'
+      if: matrix.build-arch == 'arm' && steps.dl-cached-sysroot.outputs.cache-hit != 'true'
 
     - name: Setup env to use ${{matrix.build-arch}} sysroot
       run: |
@@ -206,9 +213,9 @@ jobs:
         elif [[ ${{matrix.arch}} == 'arm64' ]]; then
           echo "PKG_CONFIG_PATH=/${{matrix.build-arch}}-sysroot/usr/lib/pkgconfig/:/${{matrix.build-arch}}-sysroot/usr/lib/aarch64-linux-gnu/pkgconfig/" >> $GITHUB_ENV
         fi
-      if: matrix.build-arch != 'x64'
+      if: matrix.build-arch == 'arm'
 
-    - name: Install npm_modules (amd64)
+    - name: Install npm_modules (native)
       run: |
         npm i -g yarn node-gyp
         yarn --network-timeout 1000000 --arch=${{matrix.build-arch}} --target-arch=${{matrix.build-arch}}
@@ -225,6 +232,7 @@ jobs:
         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
         KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
         USE_HARD_LINKS: false
+        USE_SYSTEM_FPM: true
         # DEBUG: electron-builder,electron-builder:*
 
     - name: Build web resources (amd64 only)