name: emscripten defaults: run: # Use a bash shell so we can use the same syntax for environment variable # access regardless of the host operating system shell: bash -e -x {0} on: # https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662 workflow_dispatch: push: branches: - master pull_request: branches: - master env: PROJ_PFX_TARGET: ryml- PROJ_PFX_CMAKE: RYML_ CMAKE_FLAGS: '-DRYML_TEST_SUITE=OFF' NUM_JOBS_BUILD: # 4 EMSCRIPTEN_CACHE_FOLDER: 'emsdk-cache' jobs: #---------------------------------------------------------------------------- emscripten: if: | (!contains(github.event.head_commit.message, 'skip all')) || (!contains(github.event.head_commit.message, 'skip emscripten')) || contains(github.event.head_commit.message, 'only emscripten') name: emscripten/${{matrix.emver}}/c++${{matrix.std}}/${{matrix.bt}} continue-on-error: true runs-on: ${{matrix.os}} strategy: fail-fast: false matrix: include: #- {std: 11, cxx: em++, emver: 2.0.34, bt: Debug , os: ubuntu-latest, bitlinks: static32} - {std: 11, cxx: em++, emver: 2.0.34, bt: Release, os: ubuntu-latest, bitlinks: static32} #- {std: 20, cxx: em++, emver: 2.0.34, bt: Debug , os: ubuntu-latest, bitlinks: static32} - {std: 20, cxx: em++, emver: 2.0.34, bt: Release, os: ubuntu-latest, bitlinks: static32} #- {std: 11, cxx: em++, emver: 3.0.0 , bt: Debug , os: ubuntu-latest, bitlinks: static32} - {std: 11, cxx: em++, emver: 3.0.0 , bt: Release, os: ubuntu-latest, bitlinks: static32} #- {std: 20, cxx: em++, emver: 3.0.0 , bt: Debug , os: ubuntu-latest, bitlinks: static32} - {std: 20, cxx: em++, emver: 3.0.0 , bt: Release, os: ubuntu-latest, bitlinks: static32} env: STD: "${{matrix.std}}" CXX_: "${{matrix.cxx}}" BT: "${{matrix.bt}}" BITLINKS: "${{matrix.bitlinks}}" VG: "${{matrix.vg}}" SAN: "${{matrix.san}}" LINT: "${{matrix.lint}}" OS: "${{matrix.os}}" steps: - {name: checkout, uses: actions/checkout@v3, with: {submodules: recursive}} - name: setup emscripten cache id: cache-system-libraries uses: actions/cache@v3 with: {path: "${{env.EMSCRIPTEN_CACHE_FOLDER}}", key: "${{matrix.emver}}-${{runner.os}}"} - name: setup emscripten uses: mymindstorm/setup-emsdk@v11 with: {version: "${{matrix.emver}}", actions-cache-folder: "${{env.EMSCRIPTEN_CACHE_FOLDER}}"} - {name: show info, run: source .github/setenv.sh && c4_show_info} - name: static32-configure--------------------------------------------------- run: source .github/setenv.sh && c4_cfg_test static32 - {name: static32-build, run: source .github/setenv.sh && c4_build_test static32} - {name: static32-run, run: source .github/setenv.sh && c4_run_test static32}