diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2020-11-16 10:06:20 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2020-11-16 10:06:20 (GMT) |
commit | dac1c2f4f24933af8d0514068a93e9808f74f886 (patch) | |
tree | a991af2d863a607119d5fe69403d203ff72d9513 /.github/workflows | |
parent | d8f5e027e28a3314d9bfbcb056cbe06cf4fe489d (diff) | |
parent | 106838de02ee97e81b6a945add9138eacbe2c7ba (diff) | |
download | tcl-dac1c2f4f24933af8d0514068a93e9808f74f886.zip tcl-dac1c2f4f24933af8d0514068a93e9808f74f886.tar.gz tcl-dac1c2f4f24933af8d0514068a93e9808f74f886.tar.bz2 |
Merge 8.6
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/linux-build.yml | 26 | ||||
-rw-r--r-- | .github/workflows/mac-build.yml | 61 | ||||
-rw-r--r-- | .github/workflows/win-build.yml | 65 |
3 files changed, 137 insertions, 15 deletions
diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index db46cfd..a4fd7b3 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -1,37 +1,45 @@ name: Linux Build and Test on: [push] jobs: - build: + gcc: runs-on: ubuntu-latest + strategy: + matrix: + symbols: + - "no" + - "mem" + - "all" + defaults: + run: + shell: bash + working-directory: unix steps: - name: Checkout uses: actions/checkout@v2 - - name: Configure - working-directory: unix + - name: Configure (symbols=${{ matrix.symbols }}) run: | mkdir "${HOME}/install dir" ./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1) + env: + CFGOPT: --enable-symbols=${{ matrix.symbols }} + - name: Prepare + run: touch tclStubInit.c tclOOStubInit.c + working-directory: generic - name: Build - working-directory: unix run: | make all - name: Build Test Harness - working-directory: unix run: | make tcltest - name: Run Tests - working-directory: unix run: | make test - name: Test-Drive Installation - working-directory: unix run: | make install - name: Create Distribution Package - working-directory: unix run: | make dist - name: Convert Documentation to HTML - working-directory: unix run: | make html-tcl diff --git a/.github/workflows/mac-build.yml b/.github/workflows/mac-build.yml new file mode 100644 index 0000000..c78f882 --- /dev/null +++ b/.github/workflows/mac-build.yml @@ -0,0 +1,61 @@ +name: macOS Build and Test +on: [push] +jobs: + with-Xcode: + runs-on: macos-latest + defaults: + run: + shell: bash + working-directory: macosx + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Prepare + run: touch tclStubInit.c tclOOStubInit.c + working-directory: generic + - name: Build + run: make all + - name: Run Tests + run: make test styles=develop + env: + ERROR_ON_FAILURES: 1 + MAC_CI: 1 + Unix-like: + runs-on: macos-latest + strategy: + matrix: + symbols: + - "no" + - "mem" + dtrace: + - "no" + - "yes" + defaults: + run: + shell: bash + working-directory: unix + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Prepare + run: | + touch tclStubInit.c tclOOStubInit.c + mkdir "$HOME/install dir" + working-directory: generic + - name: Configure (symbols=${{ matrix.symbols }} dtrace=${{ matrix.dtrace }}) + # Note that macOS is always a 64 bit platform + run: ./configure --enable-64bit ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1) + env: + CFGOPT: --enable-symbols=${{ matrix.symbols }} --enable-dtrace=${{ matrix.dtrace }} + - name: Build + run: | + make all tcltest + - name: Run Tests + run: | + make test + env: + ERROR_ON_FAILURES: 1 + MAC_CI: 1 + - name: Trial Installation + run: | + make install diff --git a/.github/workflows/win-build.yml b/.github/workflows/win-build.yml index 652b34a..9c3d76c 100644 --- a/.github/workflows/win-build.yml +++ b/.github/workflows/win-build.yml @@ -1,22 +1,75 @@ name: Windows Build and Test on: [push] jobs: - build: + MSVC: runs-on: windows-latest + defaults: + run: + shell: powershell + working-directory: win + # Using powershell means we need to explicitly stop on failure steps: - name: Checkout uses: actions/checkout@v2 - name: Init MSVC uses: ilammy/msvc-dev-cmd@v1 - name: Build - working-directory: win run: | - nmake -f makefile.vc all + &nmake -f makefile.vc all + if ($lastexitcode -ne 0) { + throw "nmake exit code: $lastexitcode" + } - name: Build Test Harness - working-directory: win run: | - nmake -f makefile.vc tcltest + &nmake -f makefile.vc tcltest + if ($lastexitcode -ne 0) { + throw "nmake exit code: $lastexitcode" + } - name: Run Tests + run: | + &nmake -f makefile.vc test + if ($lastexitcode -ne 0) { + throw "nmake exit code: $lastexitcode" + } + env: + ERROR_ON_FAILURES: 1 + CI_BUILD_WITH_MSVC: 1 + MSYS-gcc: + runs-on: windows-latest + defaults: + run: + shell: bash working-directory: win + strategy: + matrix: + symbols: + - "no" + - "mem" + - "all" + # Using powershell means we need to explicitly stop on failure + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Install MSYS2 and Make + run: choco install msys2 make + - name: Prepare + run: | + touch tclStubInit.c tclOOStubInit.c + mkdir "${HOME}/install dir" + working-directory: generic + - name: Configure (symbols=${{ matrix.symbols }}) run: | - nmake -f makefile.vc test + ./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1) + env: + CFGOPT: --enable-64bit --enable-symbols=${{ matrix.symbols }} + - name: Build + run: make all + - name: Build Test Harness + run: make tcltest + - name: Run Tests + run: make test + env: + ERROR_ON_FAILURES: 1 + +# 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. |