name: 🌐 JavaScript Builds on: workflow_call: # Global Settings env: # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no EM_VERSION: 3.1.39 EM_CACHE_FOLDER: "emsdk-cache" concurrency: group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-javascript cancel-in-progress: true jobs: javascript-template: runs-on: "ubuntu-22.04" name: Template (target=release, tools=no) steps: - uses: actions/checkout@v4 - 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 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 }} platform: javascript target: release tools: false - name: Save Godot build cache uses: ./.github/actions/godot-cache-save continue-on-error: true - name: Upload artifact uses: ./.github/actions/upload-artifact