diff --git a/.github/workflows/flutter-macos.yml b/.github/workflows/flutter-macos.yml index 98b38e01ca..5d5520a974 100644 --- a/.github/workflows/flutter-macos.yml +++ b/.github/workflows/flutter-macos.yml @@ -34,6 +34,14 @@ jobs: if: matrix.type == 'macos' run: flutter config --enable-macos-desktop + - name: Cache dependencies + uses: actions/cache@v2 + if: matrix.type == 'macos' + with: + path: 3rdParty/buildCache + key: osx-${{ matrix.type }}-${{ hashFiles('3rdParty/*Mac*.sh', 'mac_build/dependencyNames.sh', 'mac_build/[bB]uild*.sh') }} + restore-keys: osx-${{ matrix.type }}- + - name: Build macos client if: matrix.type == 'macos' run: samples/flutter/ci_build_macos.sh diff --git a/.github/workflows/flutter-ubuntu.yml b/.github/workflows/flutter-ubuntu.yml index b9c7678d93..bae8b65482 100644 --- a/.github/workflows/flutter-ubuntu.yml +++ b/.github/workflows/flutter-ubuntu.yml @@ -45,10 +45,43 @@ jobs: sudo apt update sudo apt install -y clang cmake ninja-build pkg-config libgtk-3-dev + - name: Configure Python + run: | + pip install boto3 + + - name: Cache dependencies + uses: actions/cache@v2 + if: matrix.type == 'linux' + with: + path: | + 3rdParty/buildCache + !3rdParty/buildCache/linux/vcpkgcache/ + key: linux-${{ matrix.type }}-${{ hashFiles('3rdParty/*Linux*.sh', 'linux/*.sh') }} + restore-keys: linux-${{ matrix.type }}- + + - name: Download vcpkg binary cache + if: matrix.type == 'linux' + run: | + python ./deploy/manage_vcpkg_archive_cache.py download 3rdParty/buildCache/linux/vcpkgcache/vcpkg/archives/ linux "edu.berkeley.boinc.github.actions.build.vcpkg.binary.cache" + - name: Build linux client if: matrix.type == 'linux' run: samples/flutter/ci_build_linux.sh + - name: Cache dependencies + uses: actions/cache@v2 + if: matrix.type == 'android' + with: + path: | + 3rdParty/buildCache + !3rdParty/buildCache/android/vcpkgcache/ + key: android-${{ matrix.type }}-${{ hashFiles('android/*.sh') }} + + - name: Download vcpkg binary cache + if: matrix.type == 'android' + run: | + python ./deploy/manage_vcpkg_archive_cache.py download 3rdParty/buildCache/android/vcpkgcache/vcpkg/archives/ android "edu.berkeley.boinc.github.actions.build.vcpkg.binary.cache" + - name: Build android client if: matrix.type == 'android' run: samples/flutter/ci_build_android.sh diff --git a/.github/workflows/flutter-windows.yml b/.github/workflows/flutter-windows.yml index bb62e507f0..d2c69ab78b 100644 --- a/.github/workflows/flutter-windows.yml +++ b/.github/workflows/flutter-windows.yml @@ -36,6 +36,28 @@ jobs: if: matrix.type == 'windows' run: flutter config --enable-windows-desktop + - name: Cache dependencies + uses: actions/cache@v2 + if: matrix.type == 'windows' + with: + path: | + ${{ github.workspace }}\3rdParty\Windows\cuda\ + key: windows-${{ matrix.platform }}-${{ matrix.configuration }}-${{ hashFiles('win_build/vcpkg_3rdparty_dependencies_vs2019.vcxproj') }} + restore-keys: windows-${{ matrix.platform }}-${{ matrix.configuration }}- + + - name: Configure Python + if: matrix.type == 'windows' + shell: cmd + run: | + pip install boto3 + + - name: Download vcpkg binary cache + if: matrix.type == 'windows' + shell: cmd + run: | + python deploy\manage_vcpkg_archive_cache.py download ${{ github.workspace }}\3rdParty\buildCache\windows\vcpkgcache\ windows_${{ matrix.platform }} "edu.berkeley.boinc.github.actions.build.vcpkg.binary.cache" + + - name: Build windows client if: matrix.type == 'windows' run: samples\flutter\ci_build_windows.bat