Skip to content

Commit fa1f0b3

Browse files
committed
Merge branch 'v2_develop' of tig:tig/Terminal.Gui into v2_develop
2 parents b1079e8 + 9b76d50 commit fa1f0b3

File tree

315 files changed

+11596
-11871
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

315 files changed

+11596
-11871
lines changed

.github/workflows/build-release.yml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Ensure that Release builds are not broken
2+
3+
on:
4+
push:
5+
branches: [ v2_release, v2_develop ]
6+
paths-ignore:
7+
- '**.md'
8+
pull_request:
9+
branches: [ v2_release, v2_develop ]
10+
paths-ignore:
11+
- '**.md'
12+
13+
jobs:
14+
build_release:
15+
# Ensure that RELEASE builds are not broken
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Setup .NET Core
22+
uses: actions/setup-dotnet@v4
23+
with:
24+
dotnet-version: 8.x
25+
dotnet-quality: 'ga'
26+
27+
- name: Build Release Terminal.Gui
28+
run: dotnet build Terminal.Gui/Terminal.Gui.csproj --configuration Release
29+
30+
- name: Pack Release Terminal.Gui
31+
run: dotnet pack Terminal.Gui/Terminal.Gui.csproj --configuration Release --output ./local_packages
32+
33+
- name: Build Release Solution
34+
run: dotnet build --configuration Release
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Check for Duplicate UnitTests
2+
on:
3+
push:
4+
branches: [ v2_release, v2_develop ]
5+
pull_request:
6+
branches: [ v2_release, v2_develop ]
7+
workflow_dispatch:
8+
jobs:
9+
check-duplicates:
10+
runs-on: windows-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- name: Run Duplicate Test Check
14+
run: pwsh -File ./Scripts/FindDuplicateTestMethodsInSameFileName.ps1 -solutionPath "$PWD"

.github/workflows/dotnet-core.yml

-119
This file was deleted.
+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Build & Run Integration Tests
2+
3+
on:
4+
push:
5+
branches: [ v2_release, v2_develop ]
6+
paths-ignore:
7+
- '**.md'
8+
pull_request:
9+
branches: [ v2_release, v2_develop ]
10+
paths-ignore:
11+
- '**.md'
12+
13+
jobs:
14+
build_and_test_debug:
15+
16+
runs-on: ${{ matrix.os }}
17+
strategy:
18+
# Turn off fail-fast to let all runners run even if there are errors
19+
fail-fast: true
20+
matrix:
21+
os: [ ubuntu-latest, windows-latest, macos-latest ]
22+
23+
timeout-minutes: 10
24+
steps:
25+
26+
- name: Checkout code
27+
uses: actions/checkout@v4
28+
29+
- name: Setup .NET Core
30+
uses: actions/setup-dotnet@v4
31+
with:
32+
dotnet-version: 8.x
33+
dotnet-quality: 'ga'
34+
35+
- name: Install dependencies
36+
run: |
37+
dotnet restore
38+
39+
- name: Build IntegrationTests
40+
run: dotnet build Tests/IntegrationTests --configuration Debug --no-restore
41+
42+
- name: Set VSTEST_DUMP_PATH
43+
shell: bash
44+
run: echo "{VSTEST_DUMP_PATH}={logs/${{ runner.os }}/}" >> $GITHUB_ENV
45+
46+
- name: Run IntegrationTests
47+
run: |
48+
dotnet test Tests/IntegrationTests --no-build --verbosity normal --diag:logs/${{ runner.os }}/logs.txt --blame --blame-crash --blame-hang --blame-hang-timeout 60s --blame-crash-collect-always -- xunit.stopOnFail=true
49+
50+
# mv -v Tests/IntegrationTests/TestResults/*/*.* TestResults/IntegrationTests/
51+
52+
- name: Upload Test Logs
53+
if: always()
54+
uses: actions/upload-artifact@v4
55+
with:
56+
name: integration-test-logs-${{ runner.os }}
57+
path: |
58+
logs/
59+
TestResults/IntegrationTests/
60+

.github/workflows/stress-tests.yml

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Run StressTests (for 15 minutes)
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *' # Runs every day at midnight UTC
6+
push:
7+
branches: [ v2_release, v2_develop ]
8+
paths-ignore:
9+
- '**.md'
10+
11+
jobs:
12+
run_stress_tests:
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
os: [ ubuntu-latest ]
18+
19+
timeout-minutes: 70 # Allow some buffer time beyond the 1-hour test duration
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v4
23+
24+
- name: Setup .NET Core
25+
uses: actions/setup-dotnet@v4
26+
with:
27+
dotnet-version: 8.x
28+
dotnet-quality: 'ga'
29+
30+
- name: Install dependencies
31+
run: dotnet restore
32+
33+
- name: Build StressTests
34+
run: dotnet build Tests/StressTests --configuration Debug --no-restore
35+
36+
- name: Run StressTests for 15 minutes
37+
run: |
38+
end=$((SECONDS+900))
39+
while [ $SECONDS -lt $end ]; do
40+
dotnet test Tests/StressTests --no-build --verbosity normal --diag:logs/${{ runner.os }}/logs.txt --blame --blame-crash --blame-hang --blame-hang-timeout 60s --blame-crash-collect-always -- xunit.stopOnFail=true
41+
done
42+
43+
- name: Upload Test Logs
44+
if: always()
45+
uses: actions/upload-artifact@v4
46+
with:
47+
name: stress-test-logs-${{ runner.os }}
48+
path: |
49+
logs/
50+
TestResults/StressTests
51+

0 commit comments

Comments
 (0)