summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authoroehhar <harald.oehlmann@elmicron.de>2021-01-23 13:23:20 (GMT)
committeroehhar <harald.oehlmann@elmicron.de>2021-01-23 13:23:20 (GMT)
commit3348d98619c7b4ae631bde35f8e384360fd8c3de (patch)
treeb3a458cc075cbbc01f08699fb78158b178a46e59 /.github
parentbe894d0b4df59a4717ecf07ccd8ffd5c62c811fd (diff)
parent6567f685e6ec1b046219ee8c5615ba4a084ac231 (diff)
downloadtk-3348d98619c7b4ae631bde35f8e384360fd8c3de.zip
tk-3348d98619c7b4ae631bde35f8e384360fd8c3de.tar.gz
tk-3348d98619c7b4ae631bde35f8e384360fd8c3de.tar.bz2
Merge main, Tk_CreatePhotoImageFormatVersion3: stubs position from 279 to 280, masterPtr->modelPtr
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/linux-build.yml154
-rw-r--r--.github/workflows/mac-build.yml152
-rw-r--r--.github/workflows/onefiledist.yml229
-rw-r--r--.github/workflows/win-build.yml158
4 files changed, 693 insertions, 0 deletions
diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml
new file mode 100644
index 0000000..fd8741d
--- /dev/null
+++ b/.github/workflows/linux-build.yml
@@ -0,0 +1,154 @@
+name: Linux
+on: [push]
+defaults:
+ run:
+ shell: bash
+ working-directory: tk/unix
+env:
+ ERROR_ON_FAILURES: 1
+jobs:
+ build:
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ compiler:
+ - "gcc"
+ - "clang"
+ cfgopt:
+ - ""
+ - "CFLAGS=-DTK_NO_DEPRECATED=1"
+ - "--disable-shared"
+ - "--disable-xft"
+ - "--disable-xss"
+ - "--enable-symbols"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ path: tk
+ - name: Checkout Tcl
+ uses: actions/checkout@v2
+ with:
+ repository: tcltk/tcl
+ ref: core-8-6-branch
+ path: tcl
+ - name: Setup Environment (compiler=${{ matrix.compiler }})
+ run: |
+ sudo apt-get install tcl8.6-dev libxss-dev
+ mkdir "$HOME/install dir"
+ touch tk/doc/man.macros tk/generic/tkStubInit.c
+ echo "CFGOPT=$CFGOPT --with-tcl=/usr/lib/tcl8.6" >> $GITHUB_ENV
+ echo "CC=$COMPILER" >> $GITHUB_ENV
+ echo "TOOL_DIR=$(cd tcl/tools;pwd)" >> $GITHUB_ENV
+ echo "BUILD_CONFIG_ID=$OPTS" >> $GITHUB_ENV
+ working-directory: "."
+ env:
+ CFGOPT: ${{ matrix.cfgopt }}
+ COMPILER: ${{ matrix.compiler }}
+ OPTS: ${{ matrix.compiler }}${{ matrix.cfgopt }}
+ - name: Configure (opts=${{ matrix.cfgopt }})
+ run: |
+ ./configure $CFGOPT "--prefix=$HOME/install dir" || {
+ cat config.log
+ echo "::error::Failure during Configure"
+ exit 1
+ }
+ - name: Build
+ run: |
+ make binaries libraries || {
+ echo "::error::Failure during Build"
+ exit 1
+ }
+ - name: Build Test Harness
+ run: |
+ make tktest || {
+ echo "::error::Failure during Build"
+ exit 1
+ }
+ - name: Test-Drive Installation
+ run: |
+ make install || {
+ echo "::error::Failure during Install"
+ exit 1
+ }
+ - name: Create Distribution Package
+ run: |
+ make dist || {
+ echo "::error::Failure during Distribute"
+ exit 1
+ }
+ - name: Convert Documentation to HTML
+ run: |
+ make html-tk TOOL_DIR=$TOOL_DIR || {
+ echo "::error::Failure during Distribute"
+ exit 1
+ }
+ - name: Discover Version ID
+ if: ${{ env.BUILD_CONFIG_ID == 'gcc' }}
+ run: |
+ cd /tmp/dist
+ echo "VERSION=`ls -d tk* | sed 's/tk//'`" >> $GITHUB_ENV
+ - name: Upload Source Distribution
+ if: ${{ env.BUILD_CONFIG_ID == 'gcc' }}
+ uses: actions/upload-artifact@v2
+ with:
+ name: Tk ${{ env.VERSION }} Source distribution (unofficial)
+ path: |
+ /tmp/dist/tk*
+ !/tmp/dist/tk*/html/**
+ - name: Upload Documentation Distribution
+ if: ${{ env.BUILD_CONFIG_ID == 'gcc' }}
+ uses: actions/upload-artifact@v2
+ with:
+ name: Tk ${{ env.VERSION }} HTML documentation (unofficial)
+ path: /tmp/dist/tk*/html
+ test:
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ compiler:
+ - "gcc"
+ cfgopt:
+ - ""
+ - "--enable-symbols"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ path: tk
+ - name: Setup Environment (compiler=${{ matrix.compiler }})
+ run: |
+ sudo apt-get install tcl8.6-dev libxss-dev xvfb
+ mkdir "$HOME/install dir"
+ touch tk/doc/man.macros tk/generic/tkStubInit.c
+ echo "CFGOPT=$CFGOPT --with-tcl=/usr/lib/tcl8.6" >> $GITHUB_ENV
+ echo "CC=$COMPILER" >> $GITHUB_ENV
+ working-directory: "."
+ env:
+ CFGOPT: ${{ matrix.cfgopt }}
+ COMPILER: ${{ matrix.compiler }}
+ - name: Configure ${{ matrix.cfgopt }}
+ run: |
+ ./configure $CFGOPT "--prefix=$HOME/install dir" || {
+ cat config.log
+ echo "::error::Failure during Configure"
+ exit 1
+ }
+ - name: Build
+ run: |
+ make binaries libraries tktest || {
+ echo "::error::Failure during Build"
+ exit 1
+ }
+ - name: Run Tests
+ run: |
+ xvfb-run --auto-servernum make test-classic | tee out-classic.txt
+ xvfb-run --auto-servernum make test-ttk | tee out-ttk.txt
+ grep -q "Failed 0" out-classic.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ grep -q "Failed 0" out-ttk.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
diff --git a/.github/workflows/mac-build.yml b/.github/workflows/mac-build.yml
new file mode 100644
index 0000000..51b6de6
--- /dev/null
+++ b/.github/workflows/mac-build.yml
@@ -0,0 +1,152 @@
+name: macOS
+on: [push]
+env:
+ ERROR_ON_FAILURES: 1
+jobs:
+ xcode:
+ runs-on: macos-11.0
+ defaults:
+ run:
+ shell: bash
+ working-directory: tk/macosx
+ steps:
+ - name: Check out Tk
+ uses: actions/checkout@v2
+ with:
+ path: tk
+ - name: Check out Tcl
+ uses: actions/checkout@v2
+ with:
+ repository: tcltk/tcl
+ ref: core-8-6-branch
+ path: tcl
+ - name: Prepare checked out repositories
+ run: |
+ touch tk/generic/tkStubInit.c
+ mkdir build
+ echo "BUILD_DIR=`cd build && pwd`" >> $GITHUB_ENV
+ echo "DESTDIR=`cd build && pwd`" >> $GITHUB_ENV
+ working-directory: .
+ - name: Build Tcl
+ run: |
+ make all
+ working-directory: tcl/macosx
+ - name: Build
+ run: |
+ make all install || {
+ echo "::error::Failure during Build"
+ exit 1
+ }
+ clang:
+ runs-on: macos-11.0
+ strategy:
+ matrix:
+ symbols:
+ - 'no'
+ - 'mem'
+ options:
+ - '--enable-aqua'
+ - '--disable-aqua'
+ defaults:
+ run:
+ shell: bash
+ working-directory: tk/unix
+ steps:
+ - name: Check out Tk
+ uses: actions/checkout@v2
+ with:
+ path: tk
+ - name: Check out Tcl
+ uses: actions/checkout@v2
+ with:
+ repository: tcltk/tcl
+ ref: core-8-6-branch
+ path: tcl
+ - name: Prepare checked out repositories
+ run: |
+ touch tkStubInit.c
+ mkdir "$HOME/install dir"
+ echo "USE_XVFB=$SET_DISPLAY" >> $GITHUB_ENV
+ working-directory: tk/generic
+ env:
+ SET_DISPLAY: ${{ contains(matrix.options, '--disable-aqua') }}
+ - name: Add X11 (if required)
+ if: ${{ env.USE_XVFB }}
+ # This involves black magic
+ run: |
+ brew install --cask xquartz
+ sudo /opt/X11/lib/X11/xinit/privileged_startx.d/10-tmpdirs || true
+ working-directory: .
+ - name: Build Tcl
+ # Note that macOS is always a 64 bit platform
+ run: |
+ ./configure --enable-64bit ${CFGOPT} "--prefix=$HOME/install dir" || {
+ cat config.log
+ echo "::error::Failure during Tcl Configure"
+ exit 1
+ }
+ make all || {
+ echo "::error::Failure during Tcl Build"
+ exit 1
+ }
+ make install || {
+ echo "::error::Failure during Tcl Install"
+ exit 1
+ }
+ working-directory: tcl/unix
+ env:
+ CFGOPT: --enable-symbols=${{ matrix.symbols }}
+ - name: Configure (symbols=${{ matrix.symbols }} ${{matrix.options }})
+ # Note that macOS is always a 64 bit platform
+ run: |
+ ./configure --enable-64bit ${CFGOPT} "--prefix=$HOME/install dir" || {
+ cat config.log
+ echo "::error::Failure during Configure"
+ exit 1
+ }
+ env:
+ CFGOPT: --enable-symbols=${{ matrix.symbols }} ${{matrix.options }}
+ - name: Build
+ run: |
+ make all tktest || {
+ echo "::error::Failure during Build"
+ exit 1
+ }
+ - name: Run Tests
+ run: |
+ if [ $USE_XVFB == true ]; then
+ function runXvfb {
+ PATH=$PATH:/opt/X11/bin
+ Xvfb $1 &
+ XVFB_PID=$!
+ echo Launched Xvfb $1 as process $XVFB_PID >&2
+ trap "echo killing process $XVFB_PID... >&2; kill $XVFB_PID" 0
+ export DISPLAY=$1
+ sleep 2
+ }
+ else
+ function runXvfb {
+ : do nothing
+ }
+ fi
+ ( runXvfb :0; make test-classic; exit $? ) | tee out-classic.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ ( runXvfb :0; make test-ttk; exit $? ) | tee out-ttk.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ cat out-classic.txt out-ttk.txt | grep -q "Failed[[:space:]][[:space:]]*[1-9]" && {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ env:
+ MAC_CI: 1
+ - name: Carry out trial installation
+ run: |
+ make install || {
+ cat config.log
+ echo "::error::Failure during Install"
+ exit 1
+ }
diff --git a/.github/workflows/onefiledist.yml b/.github/workflows/onefiledist.yml
new file mode 100644
index 0000000..c0a221e
--- /dev/null
+++ b/.github/workflows/onefiledist.yml
@@ -0,0 +1,229 @@
+name: Build Binaries
+on: [push]
+jobs:
+ linux:
+ name: Linux
+ runs-on: ubuntu-16.04
+ defaults:
+ run:
+ shell: bash
+ env:
+ CC: gcc
+ CFGOPT: --disable-symbols --disable-shared
+ steps:
+ - name: Checkout Tk
+ uses: actions/checkout@v2
+ with:
+ path: tk
+ - name: Checkout Tcl 8.7
+ uses: actions/checkout@v2
+ with:
+ repository: tcltk/tcl
+ ref: core-8-branch
+ path: tcl
+ - name: Setup Environment
+ run: |
+ sudo apt-get install libxss-dev
+ mkdir -p install/1dist.vfs
+ touch tcl/generic/tclStubInit.c tcl/generic/tclOOStubInit.c
+ touch tk/generic/tkStubInit.c
+ echo "INST_DIR=$(cd install;pwd)" >> $GITHUB_ENV
+ echo "VER_PATH=$(cd tcl/tools; pwd)/addVerToFile.tcl" >> $GITHUB_ENV
+ working-directory: "."
+ - name: Configure Tcl
+ run: |
+ ./configure $CFGOPT --enable-zipfs --prefix=$INST_DIR
+ working-directory: tcl/unix
+ - name: Build & Install Tcl
+ run: |
+ make binaries libraries tclzipfile install
+ make shell SCRIPT="$VER_PATH $GITHUB_ENV"
+ working-directory: tcl/unix
+ - name: Configure Tk
+ run: |
+ ./configure $CFGOPT --with-tcl=$INST_DIR/lib --prefix=$INST_DIR
+ working-directory: tk/unix
+ - name: Build & Install Tk
+ run: |
+ make binaries libraries install
+ working-directory: tk/unix
+ # TODO: need the Tk version separately for distro naming below
+ - name: Pack Tk Library Files into Library Zip
+ run: |
+ unzip ../lib/libtcl*.zip
+ cp -a ../lib/tk[0-9]* .
+ zip -r ../1dist.zip .
+ working-directory: ${{ env.INST_DIR }}/1dist.vfs
+ - name: Package
+ run: |
+ cat ../tk/unix/wish 1dist.zip >> ${BUILD_NAME}
+ chmod +x ${BUILD_NAME}
+ tar -cf ${BUILD_NAME}.tar ${BUILD_NAME}
+ working-directory: ${{ env.INST_DIR }}
+ env:
+ BUILD_NAME: wish${{ env.TCL_PATCHLEVEL }}_unofficial
+ - name: Upload
+ uses: actions/upload-artifact@v2
+ with:
+ name: Wish ${{ env.TCL_PATCHLEVEL }} Linux single-file build (unofficial)
+ path: ${{ env.INST_DIR }}/*.tar
+ - name: Describe Installation Zip Contents
+ if: ${{ always() }}
+ run: |
+ unzip -l 1dist.zip || true
+ working-directory: ${{ env.INST_DIR }}
+ macos:
+ name: macOS
+ runs-on: macos-11.0
+ defaults:
+ run:
+ shell: bash
+ env:
+ CC: gcc
+ CFGOPT: --disable-symbols --disable-shared --enable-64bit
+ steps:
+ - name: Checkout Tk
+ uses: actions/checkout@v2
+ with:
+ path: tk
+ - name: Checkout Tcl 8.7
+ uses: actions/checkout@v2
+ with:
+ repository: tcltk/tcl
+ ref: core-8-branch
+ path: tcl
+ - name: Checkout create-dmg
+ uses: actions/checkout@v2
+ with:
+ repository: create-dmg/create-dmg
+ ref: v1.0.8
+ path: create-dmg
+ - name: Setup Environment
+ run: |
+ mkdir -p install/1dist.vfs install/contents
+ touch tcl/generic/tclStubInit.c tcl/generic/tclOOStubInit.c
+ touch tk/generic/tkStubInit.c
+ echo "INST_DIR=$(cd install;pwd)" >> $GITHUB_ENV
+ echo "VER_PATH=$(cd tcl/tools; pwd)/addVerToFile.tcl" >> $GITHUB_ENV
+ echo "CREATE_DMG=$(cd create-dmg;pwd)/create-dmg" >> $GITHUB_ENV
+ working-directory: "."
+ - name: Configure Tcl
+ run: |
+ ./configure $CFGOPT --enable-zipfs --prefix=$INST_DIR
+ working-directory: tcl/unix
+ - name: Build & Install Tcl
+ run: |
+ make binaries libraries tclzipfile install
+ make shell SCRIPT="$VER_PATH $GITHUB_ENV"
+ working-directory: tcl/unix
+ - name: Configure Tk
+ run: |
+ ./configure $CFGOPT --with-tcl=$INST_DIR/lib --prefix=$INST_DIR \
+ --enable-aqua
+ working-directory: tk/unix
+ - name: Build & Install Tk
+ run: |
+ make binaries libraries install
+ working-directory: tk/unix
+ # TODO: need the Tk version separately for distro naming below
+ - name: Pack Tk Library Files into Library Zip
+ run: |
+ unzip ../lib/libtcl*.zip
+ cp -a ../lib/tk[0-9]* .
+ zip -r ../1dist.zip .
+ working-directory: ${{ env.INST_DIR }}/1dist.vfs
+ - name: Package
+ run: |
+ cat ../tk/unix/wish 1dist.zip >> contents/${BUILD_NAME}
+ chmod +x contents/${BUILD_NAME}
+ cat > contents/README.txt <<EOF
+ This is a single-file executable developer preview of Tcl/Tk $TCL_PATCHLEVEL
+
+ It is not intended as an official release at all, so it is unsigned and unnotarized.
+ Use strictly at your own risk.
+
+ To run it, you need to copy the executable out and run:
+ xattr -d com.apple.quarantine ${BUILD_NAME}
+ to mark the executable as runnable on your machine.
+ EOF
+ $CREATE_DMG \
+ --volname "TclTk $TCL_PATCHLEVEL (unofficial)" \
+ --window-pos 200 120 \
+ --window-size 800 400 \
+ "TclTk-$TCL_PATCHLEVEL-(unofficial).dmg" \
+ "contents/"
+ working-directory: ${{ env.INST_DIR }}
+ env:
+ BUILD_NAME: wish${{ env.TCL_PATCHLEVEL }}_unofficial
+ - name: Upload
+ uses: actions/upload-artifact@v2
+ with:
+ name: Wish ${{ env.TCL_PATCHLEVEL }} macOS single-file build (unofficial)
+ path: ${{ env.INST_DIR }}/*.dmg
+ win:
+ name: Windows
+ runs-on: windows-latest
+ defaults:
+ run:
+ shell: bash
+ env:
+ CC: gcc
+ CFGOPT: --disable-symbols --disable-shared
+ steps:
+ - name: Checkout Tk
+ uses: actions/checkout@v2
+ with:
+ path: tk
+ - name: Checkout Tcl 8.7
+ uses: actions/checkout@v2
+ with:
+ repository: tcltk/tcl
+ ref: core-8-branch
+ path: tcl
+ - name: Setup Environment
+ run: |
+ mkdir -p install/1dist
+ mkdir -p install/combined
+ touch tcl/generic/tclStubInit.c tcl/generic/tclOOStubInit.c
+ touch tk/generic/tkStubInit.c
+ echo "INST_DIR=$(cd install;pwd)" >> $GITHUB_ENV
+ echo "VER_PATH=$(cd tcl/tools; pwd)/addVerToFile.tcl" >> $GITHUB_ENV
+ working-directory: "."
+ - name: Configure Tcl
+ run: |
+ ./configure $CFGOPT --enable-zipfs --prefix=$INST_DIR
+ working-directory: tcl/win
+ - name: Build & Install Tcl
+ run: |
+ make binaries libraries tclzipfile install
+ echo "ZIP_BIN=`pwd`/minizip.exe" >> $GITHUB_ENV
+ echo "TCL_ZIP=`pwd`/`echo libtcl*.zip`" >> $GITHUB_ENV
+ $INST_DIR/bin/tclsh* $VER_PATH $GITHUB_ENV
+ working-directory: tcl/win
+ - name: Configure Tk
+ run: |
+ ./configure $CFGOPT --with-tcl=$INST_DIR/lib --prefix=$INST_DIR
+ working-directory: tk/win
+ - name: Build & Install Tk
+ run: |
+ make all install
+ echo "TK_BIN=`pwd`/`echo wish*.exe`" >> $GITHUB_ENV
+ working-directory: tk/win
+ # TODO: need the Tk version separately for distro naming below
+ - name: Pack Tk Library Files into Library Zip
+ run: |
+ unzip $TCL_ZIP
+ cp -R ../lib/tk[0-9]* .
+ $ZIP_BIN -o -r ../1dist.zip *
+ working-directory: install/1dist
+ - name: Package
+ run: |
+ cat ${TK_BIN} 1dist.zip > combined/${BUILD_NAME}.exe
+ working-directory: install
+ env:
+ BUILD_NAME: wish${{ env.TCL_PATCHLEVEL }}_unofficial
+ - name: Upload
+ uses: actions/upload-artifact@v2
+ with:
+ name: Wish ${{ env.TCL_PATCHLEVEL }} Windows single-file build (unofficial)
+ path: install/combined/wish${{ env.TCL_PATCHLEVEL }}_unofficial.exe
diff --git a/.github/workflows/win-build.yml b/.github/workflows/win-build.yml
new file mode 100644
index 0000000..fa956c6
--- /dev/null
+++ b/.github/workflows/win-build.yml
@@ -0,0 +1,158 @@
+name: Windows
+on: [push]
+env:
+ ERROR_ON_FAILURES: 1
+jobs:
+ msvc:
+ runs-on: windows-2019
+ defaults:
+ run:
+ shell: powershell
+ working-directory: tk/win
+ # Using powershell means we need to explicitly stop on failure
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ path: tk
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ repository: tcltk/tcl
+ ref: core-8-branch
+ path: tcl
+ - name: Init MSVC
+ uses: ilammy/msvc-dev-cmd@v1
+ - name: Make Install Location
+ working-directory: tcl
+ run: |
+ echo "TCLDIR=`pwd`" >> $GITHUB_ENV
+ cd ..
+ mkdir install
+ cd install
+ echo "INSTALLDIR=`pwd`" >> $GITHUB_ENV
+ - name: Build Tcl
+ run: |
+ &nmake -f makefile.vc release install
+ if ($lastexitcode -ne 0) {
+ throw "nmake exit code: $lastexitcode"
+ }
+ working-directory: tcl/win
+ - name: Build
+ run: |
+ &nmake -f makefile.vc all
+ if ($lastexitcode -ne 0) {
+ throw "nmake exit code: $lastexitcode"
+ }
+ - name: Build Test Harness
+ run: |
+ &nmake -f makefile.vc tktest
+ if ($lastexitcode -ne 0) {
+ throw "nmake exit code: $lastexitcode"
+ }
+ - name: Run Tests
+ run: |
+ nmake -f makefile.vc test-classic | tee out-classic.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ nmake -f makefile.vc test-ttk | tee out-ttk.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ grep -q "Failed 0" out-classic.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ grep -q "Failed 0" out-ttk.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ env:
+ CI_BUILD_WITH_MSVC: 1
+ shell: bash
+ - name: Build Help
+ run: |
+ &nmake -f makefile.vc htmlhelp
+ if ($lastexitcode -ne 0) {
+ throw "nmake exit code: $lastexitcode"
+ }
+ - name: Install
+ run: |
+ &nmake -f makefile.vc install
+ if ($lastexitcode -ne 0) {
+ throw "nmake exit code: $lastexitcode"
+ }
+ gcc:
+ runs-on: windows-2019
+ 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: Checkout
+ uses: actions/checkout@v2
+ with:
+ repository: tcltk/tcl
+ ref: core-8-6-branch
+ path: tcl
+ - name: Install MSYS2, Make
+ run: choco install -y msys2 make
+ - name: Prepare
+ run: |
+ touch tkStubInit.c
+ touch "${HOME}/forWinDialog-5.12.7"
+ mkdir "${HOME}/install_dir"
+ echo "INSTALL_DIR=${HOME}/install_dir" >> $GITHUB_ENV
+ working-directory: generic
+ - name: Configure and Build Tcl
+ run: |
+ ./configure ${CFGOPT} "--prefix=$INSTALL_DIR" || {
+ cat config.log
+ echo "::warning::Failure during Tcl Configure"
+ exit 1
+ }
+ make all install || {
+ echo "::warning::Failure during Tcl Build"
+ exit 1
+ }
+ echo "TCL_CONFIG_PATH=`pwd`" >> $GITHUB_ENV
+ env:
+ CFGOPT: --enable-64bit --enable-symbols=${{ matrix.symbols }}
+ working-directory: tcl/win
+ - name: Configure (symbols=${{ matrix.symbols }})
+ run: |
+ ./configure ${CFGOPT} "--prefix=$HOME/INSTALL_DIR" "--with-tcl=$TCL_CONFIG_PATH" || {
+ cat config.log
+ echo "::error::Failure during Configure"
+ exit 1
+ }
+ env:
+ CFGOPT: --enable-64bit --enable-symbols=${{ matrix.symbols }}
+ - name: Build
+ run: |
+ make all tktest || {
+ echo "::error::Failure during Build"
+ exit 1
+ }
+ - name: Run Tests
+ run: |
+ make test-classic | tee out-classic.txt
+ make test-ttk | tee out-ttk.txt
+ grep -q "Failed 0" out-classic.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }
+ grep -q "Failed 0" out-ttk.txt || {
+ echo "::error::Failure during Test"
+ exit 1
+ }