name: Failsafe Simulator Build on: push: branches: - 'main' paths-ignore: - 'docs/**' pull_request: branches: - '**' paths-ignore: - 'docs/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: [runs-on,runner=4cpu-linux-x64,image=ubuntu24-full-x64,"run-id=${{ github.run_id }}",spot=false,extras=s3-cache] defaults: run: shell: bash strategy: fail-fast: false matrix: check: [ "failsafe_web", ] container: image: ghcr.io/px4/px4-dev:v1.17.0-rc2 options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined steps: - uses: runs-on/action@v2 - uses: actions/checkout@v6 with: fetch-depth: 0 - name: Configure Git Safe Directory run: git config --system --add safe.directory '*' - name: Install Node v20.18.0 uses: actions/setup-node@v6 with: node-version: 20.18.0 - name: Cache - Restore Emscripten SDK id: cache-emsdk uses: actions/cache@v5 with: path: _emscripten_sdk key: emsdk-4.0.15 - name: Install empscripten if: steps.cache-emsdk.outputs.cache-hit != 'true' run: | git clone https://github.com/emscripten-core/emsdk.git _emscripten_sdk cd _emscripten_sdk git checkout 4.0.15 ./emsdk install latest ./emsdk activate latest - name: Testing [${{ matrix.check }}] run: | . ./_emscripten_sdk/emsdk_env.sh make ${{ matrix.check }}