mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
* Just ubuntu * windows & ubuntu * commented test out * uncommented test * back to ubuntu * deleted all Views tests * deleted all Views tests * VSTEST_DUMP_PATH * Revert "deleted all Views tests" This reverts commit985f6143e6. * Deleted first half Views tests * Revert "Deleted first half Views tests" This reverts commitbff2484cd7. * Deleted 2nd half Views tests * VSTEST_DUMP_PATH 2 * VSTEST_DUMP_PATH 3 * Revert "Deleted 2nd half Views tests" This reverts commitb1dbd79dc9. * Reapply "Deleted first half Views tests" This reverts commit3e8e890b03. * Revert "Reapply "Deleted first half Views tests"" This reverts commit731b50f392. * ubuntu/mac * removed dupe test * removed dupe test * removed statusbar tests * Revert "removed statusbar tests" This reverts commit889813143b. * Fixed shortcut tests * windows, mac, linux * fail-fast: false temporarily * fail-fast: false temporarily * trying stuff * fixed quote error * fixed sed issue * Skip WindowDispose_CanFocusProblem * Skip SynchronizationContext_CreateCopy * mac * mac * mac * mac * mac * gsed * gsed * gsed * gsed * finally fixed! Hopefully.
96 lines
3.0 KiB
YAML
96 lines
3.0 KiB
YAML
name: Build & Test Terminal.Gui with .NET Core
|
|
|
|
on:
|
|
push:
|
|
branches: [ v2_release, v2_develop ]
|
|
paths-ignore:
|
|
- '**.md'
|
|
pull_request:
|
|
branches: [ v2_release, v2_develop ]
|
|
paths-ignore:
|
|
- '**.md'
|
|
|
|
jobs:
|
|
build_and_test:
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
# Turn off fail-fast to let all runners run even if there are errors
|
|
fail-fast: true
|
|
matrix:
|
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
|
|
timeout-minutes: 10
|
|
steps:
|
|
|
|
# Build
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET Core
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: 8.x
|
|
dotnet-quality: 'ga'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
dotnet restore
|
|
|
|
- name: Build Debug
|
|
run: dotnet build --configuration Debug --no-restore
|
|
|
|
# Test
|
|
# Note: The --blame and VSTEST_DUMP_PATH stuff is needed to diagnose the test runner crashing on ubuntu/mac
|
|
# See https://github.com/microsoft/vstest/issues/2952 for why the --blame stuff below is needed.
|
|
# Without it, the test runner crashes on ubuntu (but not Windows or mac)
|
|
|
|
- name: MacOS - Patch test runner settings to stop on fail
|
|
if: runner.os == 'macOS'
|
|
run: |
|
|
brew install gnu-sed
|
|
gsed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json
|
|
|
|
- name: Windows/Linux - Patch test runner settings to stop on fail
|
|
if: runner.os != 'macOS'
|
|
run: |
|
|
sed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json
|
|
|
|
- name: Set VSTEST_DUMP_PATH
|
|
shell: bash
|
|
run: echo "{VSTEST_DUMP_PATH}={logs/${{ runner.os }}/}" >> $GITHUB_ENV
|
|
|
|
- name: Test
|
|
run: |
|
|
dotnet test --verbosity normal --collect:"XPlat Code Coverage" --settings UnitTests/coverlet.runsettings --diag:logs/${{ runner.os }}/logs.txt --blame --blame-crash --blame-hang --blame-hang-timeout 60s --blame-crash-collect-always
|
|
|
|
# mv -v UnitTests/TestResults/*/*.* UnitTests/TestResults/
|
|
|
|
- name: Upload Test Logs
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: test-logs-${{ runner.os }}
|
|
path: |
|
|
logs/
|
|
UnitTests/TestResults/
|
|
|
|
# Note: this step is currently not writing to the gist for some reason
|
|
# - name: Create Test Coverage Badge
|
|
# uses: simon-k/dotnet-code-coverage-badge@v1.0.0
|
|
# id: create_coverage_badge
|
|
# with:
|
|
# label: Unit Test Coverage
|
|
# color: brightgreen
|
|
# path: UnitTests/TestResults/coverage.opencover.xml
|
|
# gist-filename: code-coverage.json
|
|
# # https://gist.github.com/migueldeicaza/90ef67a684cb71db1817921a970f8d27
|
|
# gist-id: 90ef67a684cb71db1817921a970f8d27
|
|
# gist-auth-token: ${{ secrets.GIST_AUTH_TOKEN }}
|
|
|
|
# - name: Print Code Coverage
|
|
# run: |
|
|
# echo "Code coverage percentage: ${{steps.create_coverage_badge.outputs.percentage}}%"
|
|
# echo "Badge data: ${{steps.create_coverage_badge.outputs.badge}}"
|