summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-01-04 17:35:51 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-01-04 17:35:51 (GMT)
commitb93791b36f166144c2a390e8b08b39b315de76e4 (patch)
treefb5102058a51aa0ac031657e693a855a25a8e9c6
parentf6c05909e3838a853d9dc699e0f13c36a768bd43 (diff)
parent2703da73f996d6e3ac1091f08414630233b8c8e5 (diff)
downloadtcl-b93791b36f166144c2a390e8b08b39b315de76e4.zip
tcl-b93791b36f166144c2a390e8b08b39b315de76e4.tar.gz
tcl-b93791b36f166144c2a390e8b08b39b315de76e4.tar.bz2
Add a lot of timeouts to GITHUB builds. Backported from 8.7
-rw-r--r--.github/workflows/linux-build.yml8
-rw-r--r--.github/workflows/mac-build.yml7
-rw-r--r--.github/workflows/win-build.yml18
3 files changed, 31 insertions, 2 deletions
diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml
index 4aedf41..4b3ba95 100644
--- a/.github/workflows/linux-build.yml
+++ b/.github/workflows/linux-build.yml
@@ -32,6 +32,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
+ timeout-minutes: 5
- name: Install 32-bit dependencies if needed
# Duplicated from above
if: ${{ matrix.config == 'CFLAGS=-m32 CPPFLAGS=-m32 LDFLAGS=-m32 --disable-64bit' }}
@@ -48,23 +49,30 @@ jobs:
./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
env:
CFGOPT: ${{ matrix.config }}
+ timeout-minutes: 5
- name: Build
run: |
make all
+ timeout-minutes: 5
- name: Build Test Harness
run: |
make tcltest
+ timeout-minutes: 5
- name: Run Tests
run: |
make test
env:
ERROR_ON_FAILURES: 1
+ timeout-minutes: 30
- name: Test-Drive Installation
run: |
make install
+ timeout-minutes: 5
- name: Create Distribution Package
run: |
make dist
+ timeout-minutes: 5
- name: Convert Documentation to HTML
run: |
make html-tcl
+ timeout-minutes: 5
diff --git a/.github/workflows/mac-build.yml b/.github/workflows/mac-build.yml
index db91343..30408d8 100644
--- a/.github/workflows/mac-build.yml
+++ b/.github/workflows/mac-build.yml
@@ -19,17 +19,20 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
+ timeout-minutes: 5
- name: Prepare
run: |
touch tclStubInit.c tclOOStubInit.c
working-directory: generic
- name: Build
run: make all
+ timeout-minutes: 15
- name: Run Tests
run: make test styles=develop
env:
ERROR_ON_FAILURES: 1
MAC_CI: 1
+ timeout-minutes: 15
clang:
runs-on: macos-11
strategy:
@@ -47,6 +50,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
+ timeout-minutes: 5
- name: Prepare
run: |
touch tclStubInit.c tclOOStubInit.c
@@ -57,12 +61,15 @@ jobs:
run: ./configure --enable-64bit --enable-dtrace --enable-framework ${CFGOPT} "--prefix=$HOME/install" || (cat config.log && exit 1)
env:
CFGOPT: ${{ matrix.config }}
+ timeout-minutes: 5
- name: Build
run: |
make all tcltest
+ timeout-minutes: 15
- name: Run Tests
run: |
make test
env:
ERROR_ON_FAILURES: 1
MAC_CI: 1
+ timeout-minutes: 15
diff --git a/.github/workflows/win-build.yml b/.github/workflows/win-build.yml
index 6966891..27dcd40 100644
--- a/.github/workflows/win-build.yml
+++ b/.github/workflows/win-build.yml
@@ -22,34 +22,39 @@ jobs:
matrix:
config:
- ""
- - "OPTS=symbols"
- - "OPTS=symbols STATS=compdbg,memdbg"
- "OPTS=static,msvcrt"
- "OPTS=static,staticpkg,msvcrt"
+ - "OPTS=symbols"
+ - "OPTS=symbols STATS=compdbg,memdbg"
# Using powershell means we need to explicitly stop on failure
steps:
- name: Checkout
uses: actions/checkout@v4
+ timeout-minutes: 5
- name: Init MSVC
uses: ilammy/msvc-dev-cmd@v1
+ timeout-minutes: 5
- name: Build ${{ matrix.config }}
run: |
&nmake -f makefile.vc ${{ matrix.config }} all
if ($lastexitcode -ne 0) {
throw "nmake exit code: $lastexitcode"
}
+ timeout-minutes: 5
- name: Build Test Harness ${{ matrix.config }}
run: |
&nmake -f makefile.vc ${{ matrix.config }} tcltest
if ($lastexitcode -ne 0) {
throw "nmake exit code: $lastexitcode"
}
+ timeout-minutes: 5
- name: Run Tests ${{ matrix.config }}
run: |
&nmake -f makefile.vc ${{ matrix.config }} test
if ($lastexitcode -ne 0) {
throw "nmake exit code: $lastexitcode"
}
+ timeout-minutes: 30
gcc:
runs-on: windows-2022
defaults:
@@ -71,8 +76,10 @@ jobs:
with:
msystem: MINGW64
install: git mingw-w64-x86_64-toolchain make
+ timeout-minutes: 10
- name: Checkout
uses: actions/checkout@v4
+ timeout-minutes: 5
- name: Prepare
run: |
touch tclStubInit.c tclOOStubInit.c
@@ -83,9 +90,16 @@ jobs:
./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
env:
CFGOPT: --enable-64bit ${{ matrix.config }}
+ timeout-minutes: 5
- name: Build
run: make all
+ timeout-minutes: 5
- name: Build Test Harness
run: make tcltest
+ timeout-minutes: 5
- name: Run Tests
run: make test
+ timeout-minutes: 30
+
+# If you add builds with Wine, be sure to define the environment variable
+# CI_USING_WINE when running them so that broken tests know not to run.