12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- name: 🌐 Web Builds
- on:
- workflow_call:
- # Global Settings
- env:
- # Used for the cache key. Add version suffix to force clean build.
- GODOT_BASE_BRANCH: master
- SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no use_closure_compiler=yes strict_checks=yes
- EM_VERSION: 3.1.64
- concurrency:
- group: ci-${{ github.actor }}-${{ github.head_ref || github.run_number }}-${{ github.ref }}-web
- cancel-in-progress: true
- jobs:
- web-template:
- runs-on: ubuntu-24.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:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- submodules: recursive
- - name: Set up Emscripten latest
- uses: mymindstorm/setup-emsdk@v14
- with:
- version: ${{ env.EM_VERSION }}
- no-cache: true
- - 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 }}
|