feat/preConnectCommands #840
Workflow file for this run
This file contains hidden or 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
| # This workflow runs on pull requests - it is similar to what happens | |
| # in push workflow, but needs to be split across multiple workflows | |
| # see report.yml for more details | |
| name: build-pr | |
| on: [pull_request] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| Build-on-Ubuntu: | |
| name: Build & Test on Ubuntu | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Install GCC & GDB & other build essentials | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install build-essential gcc g++ gdb gdbserver socat | |
| gdb --version | |
| gcc --version | |
| gdbserver --version | |
| - name: Enable ptrace so tests can attach to running processes, see attach.spec.ts | |
| run: | | |
| sudo sysctl kernel.yama.ptrace_scope=0 | |
| - name: Build | |
| run: yarn | |
| - name: Verify code formatting is valid | |
| run: | | |
| yarn format-check | |
| yarn lint | |
| - name: Build Test Programs | |
| run: make -C src/integration-tests/test-programs | |
| - name: Test | |
| run: yarn test-ci | |
| - name: Log file artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: success() || failure() | |
| with: | |
| name: test-logs-ubuntu | |
| path: test-logs/ | |
| - name: Upload Test Report | |
| uses: actions/upload-artifact@v4 | |
| if: success() || failure() | |
| with: | |
| name: test-results-ubuntu | |
| path: 'test-reports/*.xml' | |
| retention-days: 1 | |
| - name: Verify no unexpected changes to source tree | |
| run: git diff --exit-code | |
| Build-on-Windows: | |
| name: Build & Test on Windows | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| # Install build tools and update PATH through GITHUB_PATH for next steps | |
| - name: Install GCC & GDB & other build essentials | |
| run: | | |
| choco install mingw --version=11.2.0.07112021 | |
| $chocoMingwBin = Join-Path $env:ChocolateyInstall 'lib\mingw\tools\install\mingw64\bin' | |
| echo $chocoMingwBin >> $env:GITHUB_PATH | |
| - name: Echo Tool Versions | |
| run: | | |
| gdb --version | |
| gcc --version | |
| gdbserver --version | |
| make --version | |
| - name: Build | |
| run: yarn | |
| - name: Build Test Programs | |
| run: make -C src/integration-tests/test-programs | |
| - name: Use special Mocha settings on Windows tests | |
| run: | | |
| Copy -path .mocharc-windows-ci.json -destination .mocharc.json -verbose | |
| - name: Test | |
| run: yarn test-ci | |
| - name: Log file artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: success() || failure() | |
| with: | |
| name: test-logs-windows | |
| path: test-logs/ | |
| - name: Upload Test Report | |
| uses: actions/upload-artifact@v4 | |
| if: success() || failure() | |
| with: | |
| name: test-results-windows | |
| path: 'test-reports/*.xml' | |
| retention-days: 1 |