name: Continuous Integration v2.x #trigger when these occur on: push: branches: - v2 pull_request: types: - opened - edited - reopened branches: - v2 workflow_dispatch: #CI workflows using the matrix strategy, skipping GDB if it's not supported for the platform jobs: run-test-cases: continue-on-error: true strategy: matrix: platforms: - { os: ubuntu-latest, preinstall: sudo apt-get install gdb, gdb_enabled: true } - { os: windows-latest, preinstall: , gdb_enabled: true } - { os: macos-latest, preinstall: , gdb_enabled: false } commands: - { exec: make test-cases, gdb: false } - { exec: make test-cases-gdb, gdb: true } runs-on: ${{ matrix.platforms.os }} steps: - uses: actions/checkout@v4 - name: Preinstall dependencies if: (matrix.commands.gdb == true && matrix.platforms.gdb_enabled == false) != true run: ${{ matrix.platforms.preinstall }} - name: run the tests if: (matrix.commands.gdb == true && matrix.platforms.gdb_enabled == false) != true run: ${{ matrix.commands.exec }} run-test-integrations: needs: run-test-cases continue-on-error: true strategy: matrix: platforms: - { os: ubuntu-latest, preinstall: sudo apt-get install gdb, gdb_enabled: true } - { os: windows-latest, preinstall: , gdb_enabled: true } - { os: macos-latest, preinstall: , gdb_enabled: false } commands: - { exec: make test-integrations, gdb: false } - { exec: make test-integrations-gdb, gdb: true } runs-on: ${{ matrix.platforms.os }} steps: - uses: actions/checkout@v4 - name: Preinstall dependencies if: (matrix.commands.gdb == true && matrix.platforms.gdb_enabled == false) != true run: ${{ matrix.platforms.preinstall }} - name: run the tests if: (matrix.commands.gdb == true && matrix.platforms.gdb_enabled == false) != true run: ${{ matrix.commands.exec }}