Browse Source

Add caching of sysroot for hopefully more speedup

Jai-JAP 2 years ago
parent
commit
9b985698ff
1 changed files with 14 additions and 7 deletions
  1. 14 7
      .github/workflows/build.yml

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

@@ -160,6 +160,13 @@ jobs:
       with:
         node-version: 18
 
+    - name: Download cached sysroot
+      uses: actions/cache@v3
+      if: matrix.build-arch !='x64'
+      with:
+        key: sysroot-${{matrix.build-arch}}
+        path: /${{matrix.build-arch}}-sysroot
+
     - name: Install deps (amd64)
       run: |
         sudo apt-get update
@@ -167,18 +174,18 @@ jobs:
 
     - name: Setup Crossbuild (${{matrix.arch}})
       run: |
-          echo "CFLAGS=--sysroot=/build-sysroot/" >> $GITHUB_ENV
-          echo "CXXFLAGS=--sysroot=/build-sysroot/" >> $GITHUB_ENV
-            echo "LDFLAGS=--sysroot=/build-sysroot/" >> $GITHUB_ENV
+          echo "CFLAGS=--sysroot=/${{matrix.build-arch}}-sysroot/" >> $GITHUB_ENV
+          echo "CXXFLAGS=--sysroot=/${{matrix.build-arch}}-sysroot/" >> $GITHUB_ENV
+            echo "LDFLAGS=--sysroot=/${{matrix.build-arch}}-sysroot/" >> $GITHUB_ENV
           [[ ${npm_config_arch} == 'arm' ]] && echo "npm_config_arch=armv7l" >> $GITHUB_ENV
           if [[ ${{matrix.arch}} == 'armhf' ]]; then
-            echo "PKG_CONFIG_PATH=/build-sysroot/usr/lib/pkgconfig/:/build-sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig/" >> $GITHUB_ENV
+            echo "PKG_CONFIG_PATH=/${{matrix.build-arch}}-sysroot/usr/lib/pkgconfig/:/${{matrix.build-arch}}-sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig/" >> $GITHUB_ENV
           elif [[ ${{matrix.arch}} == 'arm64' ]]; then
-            echo "PKG_CONFIG_PATH=/build-sysroot/usr/lib/pkgconfig/:/build-sysroot/usr/lib/aarch64-linux-gnu/pkgconfig/" >> $GITHUB_ENV
+            echo "PKG_CONFIG_PATH=/${{matrix.build-arch}}-sysroot/usr/lib/pkgconfig/:/${{matrix.build-arch}}-sysroot/usr/lib/aarch64-linux-gnu/pkgconfig/" >> $GITHUB_ENV
           fi
           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 /build-sysroot/ http://ports.ubuntu.com/ubuntu-ports/
-          sudo find /build-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' {} \; ;
+          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'
 
     - name: Install npm_modules (amd64)