diff --git a/.github/workflows/gdextension.yml b/.github/workflows/gdextension.yml index cf455dd..9bea836 100644 --- a/.github/workflows/gdextension.yml +++ b/.github/workflows/gdextension.yml @@ -34,6 +34,8 @@ on: env: SCONS_CACHE_LIMIT: 4096 SCONSFLAGS: dev_build=no debug_symbols=no + EM_VERSION: 3.1.45 + EM_CACHE_FOLDER: "emsdk-cache" jobs: gdextension: @@ -144,8 +146,27 @@ jobs: python-version: "3.x" architecture: "x64" + - name: Set up Emscripten cache + if: matrix.opts.platform == 'web' + uses: actions/cache@v3 + with: + path: ${{env.EM_CACHE_FOLDER}} + key: ${{env.EM_VERSION}}-${{runner.os}}-libs + + - name: Set up Emscripten + if: matrix.opts.platform == 'web' + uses: mymindstorm/setup-emsdk@v12 + with: + version: ${{env.EM_VERSION}} + actions-cache-folder: ${{env.EM_CACHE_FOLDER}} + + - name: Verify Emscripten setup + if: matrix.opts.platform == 'web' + run: | + emcc -v + - name: Set up scons - if: matrix.opts.platform == 'windows' || matrix.opts.platform == 'macos' + if: matrix.opts.platform == 'windows' || matrix.opts.platform == 'macos' || matrix.opts.platform == 'web' run: | python -c "import sys; print(sys.version)" python -m pip install scons==4.4.0