🌐 JavaScript Builds #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🌐 JavaScript Builds | |
on: [push, pull_request] | |
# Global Settings | |
env: | |
GODOT_BASE_BRANCH: 3.3 | |
SCONSFLAGS: platform=javascript verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2 | |
SCONS_CACHE_LIMIT: 4096 | |
EM_VERSION: 2.0.15 | |
EM_CACHE_FOLDER: 'emsdk-cache' | |
jobs: | |
javascript-template: | |
runs-on: "ubuntu-20.04" | |
name: Template (target=release, tools=no) | |
steps: | |
- uses: actions/checkout@v2 | |
# Azure repositories are not reliable, we need to prevent azure giving us packages. | |
- name: Make apt sources.list use the default Ubuntu repositories | |
run: | | |
sudo rm -f /etc/apt/sources.list.d/* | |
sudo cp -f misc/ci/sources.list /etc/apt/sources.list | |
sudo apt-get update | |
# Upload cache on completion and check it out now | |
- name: Load .scons_cache directory | |
id: javascript-template-cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{github.workspace}}/.scons_cache/ | |
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}} | |
restore-keys: | | |
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}} | |
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}} | |
${{github.job}}-${{env.GODOT_BASE_BRANCH}} | |
continue-on-error: true | |
# Additional cache for Emscripten generated system libraries | |
- name: Load Emscripten cache | |
id: javascript-template-emscripten-cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{env.EM_CACHE_FOLDER}} | |
key: ${{env.EM_VERSION}}-${{github.job}} | |
# Use python 3.x release (works cross platform) | |
- name: Set up Python 3.x | |
uses: actions/setup-python@v2 | |
with: | |
# Semantic version range syntax or exact version of a Python version | |
python-version: '3.x' | |
# Optional - x64 or x86 architecture, defaults to x64 | |
architecture: 'x64' | |
# You can test your matrix by printing the current Python version | |
- name: Configuring Python packages | |
run: | | |
python -c "import sys; print(sys.version)" | |
python -m pip install scons | |
python --version | |
scons --version | |
- name: Set up Emscripten latest | |
uses: mymindstorm/setup-emsdk@v10 | |
with: | |
version: ${{env.EM_VERSION}} | |
actions-cache-folder: ${{env.EM_CACHE_FOLDER}} | |
- name: Verify Emscripten setup | |
run: | | |
emcc -v | |
- name: Compilation | |
env: | |
SCONS_CACHE: ${{github.workspace}}/.scons_cache/ | |
run: | | |
scons target=release tools=no use_closure_compiler=yes | |
ls -l bin/ | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ github.job }} | |
path: bin/* | |
retention-days: 14 |