mirror of
https://github.com/godotengine/godot.git
synced 2024-12-27 11:24:59 +08:00
a63c37dca1
The min SCons version had to be bumped as SCons 3.0 before 3.0.3 seems broken (see #92043), and there's little gain from supporting 3.0.3-3.0.5. 3.1.2 is also the first version to avoid ambiguities between Python 2 and Python 3 usage, so we finally use it as the minimum baseline. Also test against Python 3.6 which is also our minimum supported version. This should help prevent regressions whenever we modernize the build scripts.
77 lines
2.2 KiB
YAML
77 lines
2.2 KiB
YAML
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
|
|
EM_VERSION: 3.1.59
|
|
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: Setup Godot build cache
|
|
uses: ./.github/actions/godot-cache
|
|
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: Upload artifact
|
|
uses: ./.github/actions/upload-artifact
|
|
if: ${{ matrix.artifact }}
|
|
with:
|
|
name: ${{ matrix.cache-name }}
|