1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- name: 🌐 Web Builds
- on:
- workflow_call:
- # Global Settings
- env:
- # Used for the cache key. Add version suffix to force clean build.
- GODOT_BASE_BRANCH: 4.3
- SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no use_closure_compiler=yes
- EM_VERSION: 3.1.64
- EM_CACHE_FOLDER: "emsdk-cache"
- concurrency:
- group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-web
- cancel-in-progress: true
- jobs:
- web-template:
- runs-on: "ubuntu-22.04"
- name: ${{ matrix.name }}
- strategy:
- fail-fast: false
- matrix:
- include:
- - name: Template w/ threads (target=template_release, threads=yes)
- cache-name: web-template
- target: template_release
- sconsflags: threads=yes
- tests: false
- artifact: true
- - name: Template w/o threads (target=template_release, threads=no)
- cache-name: web-nothreads-template
- target: template_release
- sconsflags: threads=no
- tests: false
- artifact: true
- steps:
- - uses: actions/checkout@v4
- with:
- submodules: recursive
- - name: Set up Emscripten latest
- uses: mymindstorm/setup-emsdk@v14
- with:
- version: ${{env.EM_VERSION}}
- actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
- cache-key: emsdk-${{ matrix.cache-name }}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
- - name: Verify Emscripten setup
- run: |
- emcc -v
- - name: Restore Godot build cache
- uses: ./.github/actions/godot-cache-restore
- with:
- cache-name: ${{ matrix.cache-name }}
- continue-on-error: true
- - name: Setup Python and SCons
- uses: ./.github/actions/godot-deps
- - name: Compilation
- uses: ./.github/actions/godot-build
- with:
- sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
- platform: web
- target: ${{ matrix.target }}
- tests: ${{ matrix.tests }}
- - name: Save Godot build cache
- uses: ./.github/actions/godot-cache-save
- with:
- cache-name: ${{ matrix.cache-name }}
- continue-on-error: true
- - name: Upload artifact
- uses: ./.github/actions/upload-artifact
- if: ${{ matrix.artifact }}
- with:
- name: ${{ matrix.cache-name }}
|