diff options
-rw-r--r-- | .github/workflows/build.yml | 77 |
1 files changed, 73 insertions, 4 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4334ce2..4e9fa52 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,6 +43,8 @@ jobs: name: Build OpenStarbound Windows x64 runs-on: windows-latest if: ${{ (github.event_name != 'pull_request') && ((github.event_name != 'workflow_dispatch') || (inputs.windows == true)) }} + env: + VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkg_cache,readwrite steps: - name: Checkout uses: actions/checkout@v4 @@ -63,6 +65,13 @@ jobs: - uses: ilammy/msvc-dev-cmd@v1 + - name: Restore VCPKG cache + uses: actions/cache/restore@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + restore-keys: vcpkg-${{github.job}}- + - name: vcpkg uses: lukka/run-vcpkg@v11 id: runvcpkg @@ -70,6 +79,12 @@ jobs: vcpkgJsonGlob: '**/source/vcpkg.json' vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + - name: Save VCPKG cache + uses: actions/cache/save@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + - name: Run CMake uses: lukka/run-cmake@v10 with: @@ -120,9 +135,7 @@ jobs: runs-on: ubuntu-22.04 if: ${{ (github.event_name != 'workflow_dispatch') || (inputs.linux == true) }} env: - CC: clang - CXX: clang++ - + VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkg_cache,readwrite steps: - name: Install Packages run: | @@ -145,6 +158,13 @@ jobs: key: ${{ github.job }}-${{ runner.os }} max-size: 250M + - name: Restore VCPKG cache + uses: actions/cache/restore@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + restore-keys: vcpkg-${{github.job}}- + - name: vcpkg uses: lukka/run-vcpkg@v11 id: runvcpkg @@ -152,6 +172,12 @@ jobs: vcpkgJsonGlob: '**/source/vcpkg.json' vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + - name: Save VCPKG cache + uses: actions/cache/save@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + - name: Run CMake uses: lukka/run-cmake@v10 with: @@ -198,7 +224,7 @@ jobs: env: CC: clang CXX: clang++ - + VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkg_cache,readwrite steps: - name: Install Packages run: | @@ -221,6 +247,13 @@ jobs: key: ${{ github.job }}-${{ runner.os }} max-size: 250M + - name: Restore VCPKG cache + uses: actions/cache/restore@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + restore-keys: vcpkg-${{github.job}}- + - name: vcpkg uses: lukka/run-vcpkg@v11 id: runvcpkg @@ -228,6 +261,12 @@ jobs: vcpkgJsonGlob: '**/source/vcpkg.json' vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + - name: Save VCPKG cache + uses: actions/cache/save@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + - name: Run CMake uses: lukka/run-cmake@v10 with: @@ -271,6 +310,8 @@ jobs: name: Build OpenStarbound macOS x86_64 runs-on: macos-13 if: ${{ (github.event_name != 'pull_request') && ((github.event_name != 'workflow_dispatch') || (inputs.macOS == true)) }} + env: + VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkg_cache,readwrite steps: - uses: actions/checkout@v4 with: @@ -288,6 +329,13 @@ jobs: key: ${{ github.job }}-Intel-${{ runner.os }} max-size: 250M + - name: Restore VCPKG cache + uses: actions/cache/restore@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + restore-keys: vcpkg-${{github.job}}- + - name: vcpkg uses: lukka/run-vcpkg@v11 id: runvcpkg @@ -295,6 +343,12 @@ jobs: vcpkgJsonGlob: '**/source/vcpkg.json' vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + - name: Save VCPKG cache + uses: actions/cache/save@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + - name: Run CMake uses: lukka/run-cmake@v10 with: @@ -313,6 +367,8 @@ jobs: name: Build OpenStarbound macOS arm64 runs-on: macos-14 if: ${{ (github.event_name != 'pull_request') && ((github.event_name != 'workflow_dispatch') || (inputs.macOS == true)) }} + env: + VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkg_cache,readwrite steps: - uses: actions/checkout@v4 with: @@ -330,6 +386,13 @@ jobs: key: ${{ github.job }}-ARM-${{ runner.os }} max-size: 250M + - name: Restore VCPKG cache + uses: actions/cache/restore@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + restore-keys: vcpkg-${{github.job}}- + - name: vcpkg uses: lukka/run-vcpkg@v11 id: runvcpkg @@ -337,6 +400,12 @@ jobs: vcpkgJsonGlob: '**/source/vcpkg.json' vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + - name: Save VCPKG cache + uses: actions/cache/save@v4 + with: + path: ${{ github.workspace }}/vcpkg_cache + key: vcpkg-${{github.job}}-${{ hashFiles('vcpkg.json') }} + - name: Run CMake uses: lukka/run-cmake@v10 with: |