web_builds.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. name: 🌐 Web Builds
  2. on:
  3. workflow_call:
  4. # Global Settings
  5. env:
  6. # Used for the cache key. Add version suffix to force clean build.
  7. GODOT_BASE_BRANCH: '4.1'
  8. SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no
  9. EM_VERSION: 3.1.39
  10. EM_CACHE_FOLDER: "emsdk-cache"
  11. concurrency:
  12. group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-web
  13. cancel-in-progress: true
  14. jobs:
  15. web-template:
  16. runs-on: "ubuntu-22.04"
  17. name: Template (target=template_release)
  18. steps:
  19. - uses: actions/checkout@v4
  20. - name: Set up Emscripten latest
  21. uses: mymindstorm/setup-emsdk@v14
  22. with:
  23. version: ${{env.EM_VERSION}}
  24. actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
  25. cache-key: emsdk-${{ matrix.cache-name }}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
  26. - name: Verify Emscripten setup
  27. run: |
  28. emcc -v
  29. - name: Setup Godot build cache
  30. uses: ./.github/actions/godot-cache
  31. continue-on-error: true
  32. - name: Setup python and scons
  33. uses: ./.github/actions/godot-deps
  34. - name: Compilation
  35. uses: ./.github/actions/godot-build
  36. with:
  37. sconsflags: ${{ env.SCONSFLAGS }}
  38. platform: web
  39. target: template_release
  40. tests: false
  41. - name: Upload artifact
  42. uses: ./.github/actions/upload-artifact