diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index eb161c164..e69de29bb 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -1,189 +0,0 @@ -name: Linux -on: [push] -permissions: - contents: read -defaults: - run: - shell: bash - working-directory: tk/unix -env: - ERROR_ON_FAILURES: 1 -jobs: - build: - runs-on: ubuntu-22.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@v3 - with: - path: tk - - name: Checkout Tcl - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-branch - path: tcl - - name: Setup Environment (compiler=${{ matrix.compiler }}) - run: | - sudo apt-get install libxss-dev - mkdir "$HOME/install dir" - touch tk/doc/man.macros tk/generic/tkStubInit.c - echo "CFGOPT=$CFGOPT" >> $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 and Build Tcl - run: | - ./configure $CFGOPT "--prefix=$HOME/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 - working-directory: tcl/unix - - name: Configure (opts=${{ matrix.cfgopt }}) - run: | - ./configure $CFGOPT --with-tcl=$TCL_CONFIG_PATH "--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@v3 - with: - name: Tk ${{ env.VERSION }} Source distribution (snapshot) - path: | - /tmp/dist/tk* - !/tmp/dist/tk*/html/** - - name: Upload Documentation Distribution - if: ${{ env.BUILD_CONFIG_ID == 'gcc' }} - uses: actions/upload-artifact@v3 - with: - name: Tk ${{ env.VERSION }} HTML documentation (snapshot) - path: /tmp/dist/tk*/html - test: - runs-on: ubuntu-22.04 - strategy: - matrix: - compiler: - - "gcc" - cfgopt: - - "" - - "--disable-xft" - - "--enable-symbols" - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - path: tk - - name: Checkout Tcl - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-branch - path: tcl - - name: Setup Environment (compiler=${{ matrix.compiler }}) - run: | - sudo apt-get install libxss-dev xvfb libicu-dev - mkdir "$HOME/install dir" - touch tk/doc/man.macros tk/generic/tkStubInit.c - echo "CFGOPT=$CFGOPT" >> $GITHUB_ENV - echo "CC=$COMPILER" >> $GITHUB_ENV - working-directory: "." - env: - CFGOPT: ${{ matrix.cfgopt }} - COMPILER: ${{ matrix.compiler }} - - name: Configure and Build Tcl - run: | - ./configure $CFGOPT "--prefix=$HOME/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 - working-directory: tcl/unix - - name: Configure ${{ matrix.cfgopt }} - run: | - ./configure $CFGOPT --with-tcl=$TCL_CONFIG_PATH "--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/linux-with-tcl86-build.yml b/.github/workflows/linux-with-tcl86-build.yml index 9c425c3fa..e69de29bb 100644 --- a/.github/workflows/linux-with-tcl86-build.yml +++ b/.github/workflows/linux-with-tcl86-build.yml @@ -1,170 +0,0 @@ -name: Linux (with Tcl 8.6) -on: [push] -permissions: - contents: read -defaults: - run: - shell: bash - working-directory: tk/unix -env: - ERROR_ON_FAILURES: 1 -jobs: - build: - runs-on: ubuntu-22.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@v3 - with: - path: tk - - name: Checkout Tcl - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-6-branch - path: tcl - - name: Setup Environment (compiler=${{ matrix.compiler }}) - run: | - sudo apt-get install libxss-dev - mkdir "$HOME/install dir" - touch tk/doc/man.macros tk/generic/tkStubInit.c - echo "CFGOPT=$CFGOPT" >> $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 and Build Tcl - run: | - ./configure $CFGOPT "--prefix=$HOME/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 - working-directory: tcl/unix - - name: Configure (opts=${{ matrix.cfgopt }}) - run: | - ./configure $CFGOPT --with-tcl=$TCL_CONFIG_PATH --disable-zipfs "--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 - } - test: - runs-on: ubuntu-22.04 - strategy: - matrix: - compiler: - - "gcc" - cfgopt: - - "" - - "--disable-xft" - - "--enable-symbols" - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - path: tk - - name: Checkout Tcl - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-6-branch - path: tcl - - name: Setup Environment (compiler=${{ matrix.compiler }}) - run: | - sudo apt-get install libxss-dev xvfb libicu-dev - mkdir "$HOME/install dir" - touch tk/doc/man.macros tk/generic/tkStubInit.c - echo "CFGOPT=$CFGOPT" >> $GITHUB_ENV - echo "CC=$COMPILER" >> $GITHUB_ENV - working-directory: "." - env: - CFGOPT: ${{ matrix.cfgopt }} - COMPILER: ${{ matrix.compiler }} - - name: Configure and Build Tcl - run: | - ./configure $CFGOPT "--prefix=$HOME/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 - working-directory: tcl/unix - - name: Configure ${{ matrix.cfgopt }} - run: | - ./configure $CFGOPT --with-tcl=$TCL_CONFIG_PATH "--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/linux-with-tcl9-build.yml b/.github/workflows/linux-with-tcl9-build.yml index ec8a12e13..ddf4e843c 100644 --- a/.github/workflows/linux-with-tcl9-build.yml +++ b/.github/workflows/linux-with-tcl9-build.yml @@ -32,7 +32,7 @@ jobs: uses: actions/checkout@v3 with: repository: tcltk/tcl - ref: main + ref: disabletcl8api path: tcl - name: Setup Environment (compiler=${{ matrix.compiler }}) run: | @@ -117,7 +117,7 @@ jobs: uses: actions/checkout@v3 with: repository: tcltk/tcl - ref: main + ref: disabletcl8api path: tcl - name: Setup Environment (compiler=${{ matrix.compiler }}) run: | diff --git a/.github/workflows/linux-with-tcl91-build.yml b/.github/workflows/linux-with-tcl91-build.yml index 370674cad..e69de29bb 100644 --- a/.github/workflows/linux-with-tcl91-build.yml +++ b/.github/workflows/linux-with-tcl91-build.yml @@ -1,170 +0,0 @@ -name: Linux (with Tcl 9.1) -on: [push] -permissions: - contents: read -defaults: - run: - shell: bash - working-directory: tk/unix -env: - ERROR_ON_FAILURES: 1 -jobs: - build: - runs-on: ubuntu-22.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@v3 - with: - path: tk - - name: Checkout Tcl - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: tip-626 - path: tcl - - name: Setup Environment (compiler=${{ matrix.compiler }}) - run: | - sudo apt-get install libxss-dev - mkdir "$HOME/install dir" - touch tk/doc/man.macros tk/generic/tkStubInit.c - echo "CFGOPT=$CFGOPT" >> $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 and Build Tcl - run: | - ./configure $CFGOPT "--prefix=$HOME/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 - working-directory: tcl/unix - - name: Configure (opts=${{ matrix.cfgopt }}) - run: | - ./configure $CFGOPT --with-tcl=$TCL_CONFIG_PATH "--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 - } - test: - runs-on: ubuntu-22.04 - strategy: - matrix: - compiler: - - "gcc" - cfgopt: - - "" - - "--disable-xft" - - "--enable-symbols" - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - path: tk - - name: Checkout Tcl - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: tip-626 - path: tcl - - name: Setup Environment (compiler=${{ matrix.compiler }}) - run: | - sudo apt-get install libxss-dev xvfb libicu-dev - mkdir "$HOME/install dir" - touch tk/doc/man.macros tk/generic/tkStubInit.c - echo "CFGOPT=$CFGOPT" >> $GITHUB_ENV - echo "CC=$COMPILER" >> $GITHUB_ENV - working-directory: "." - env: - CFGOPT: ${{ matrix.cfgopt }} - COMPILER: ${{ matrix.compiler }} - - name: Configure and Build Tcl - run: | - ./configure $CFGOPT "--prefix=$HOME/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 - working-directory: tcl/unix - - name: Configure ${{ matrix.cfgopt }} - run: | - ./configure $CFGOPT --with-tcl=$TCL_CONFIG_PATH "--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 index 8c91ad8dc..e69de29bb 100644 --- a/.github/workflows/mac-build.yml +++ b/.github/workflows/mac-build.yml @@ -1,162 +0,0 @@ -name: macOS -on: [push] -permissions: - contents: read -env: - ERROR_ON_FAILURES: 1 -jobs: - xcode: - runs-on: macos-11 - defaults: - run: - shell: bash - working-directory: tk/macosx - steps: - - name: Check out Tk - uses: actions/checkout@v3 - with: - path: tk - - name: Check out Tcl 8.7 - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-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 - } - - name: Run Tests - run: | - make test | tee out.txt - nmatches=$( grep -c "Failed 0" out.txt ) - if [ $nmatches -lt 4 ] - then - echo "::error::Failure during Test" - exit 1 - fi - clang: - runs-on: macos-11 - 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@v3 - with: - path: tk - - name: Check out Tcl 8.7 - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-branch - path: tcl - - name: Prepare checked out repositories - env: - SET_DISPLAY: ${{ contains(matrix.options, '--disable-aqua') }} - run: | - touch tkStubInit.c - mkdir "$HOME/install dir" - echo "USE_XVFB=$SET_DISPLAY" >> $GITHUB_ENV - working-directory: tk/generic - - name: Add X11 (if required) - if: ${{ env.USE_XVFB == 'true' }} - run: | - brew install --cask xquartz - sudo /opt/X11/libexec/privileged_startx || true - working-directory: . - - name: Build Tcl - run: | - ./configure $CFGOPT --disable-zipfs "--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 }}) - run: | - ./configure $CFGOPT --disable-zipfs "--prefix=$HOME/install dir" --disable-xft || { - 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 { - echo Xvfb not used, this is a --enable-aqua build - } - fi - ( runXvfb :0; make test-classic; exit $? ) | tee out-classic.txt || { - echo "::error::Failure during Test (classic)" - exit 1 - } - ( runXvfb :0; make test-ttk; exit $? ) | tee out-ttk.txt || { - echo "::error::Failure during Test (ttk)" - exit 1 - } - cat out-classic.txt | grep -q "Failed 0" || { - echo "::error::Failure in classic test results" - exit 1 - } - cat out-ttk.txt | grep -q "Failed 0" || { - echo "::error::Failure in ttk test results" - exit 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 index 78ef1d66e..e69de29bb 100644 --- a/.github/workflows/onefiledist.yml +++ b/.github/workflows/onefiledist.yml @@ -1,215 +0,0 @@ -name: Build Binaries -on: [push] -permissions: - contents: read -jobs: - linux: - name: Linux - runs-on: ubuntu-20.04 - defaults: - run: - shell: bash - env: - CC: gcc - CFGOPT: --disable-symbols --disable-shared - steps: - - name: Checkout Tk - uses: actions/checkout@v3 - with: - path: tk - - name: Checkout Tcl 8.7 - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-branch - path: tcl - - name: Setup Environment - run: | - sudo apt-get install libxss-dev - 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 --prefix=$INST_DIR - working-directory: tcl/unix - - name: Build & Install Tcl - run: | - make binaries libraries 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: Package - run: | - cp bin/wish8.7 ${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 }}_snapshot - - name: Upload - uses: actions/upload-artifact@v3 - with: - name: Wish ${{ env.TCL_PATCHLEVEL }} Linux single-file build (snapshot) - path: ${{ env.INST_DIR }}/*.tar - - name: Describe Installation Zip Contents - if: ${{ always() }} - run: | - unzip -l wish${{ env.TCL_PATCHLEVEL }}_snapshot || true - working-directory: ${{ env.INST_DIR }} - macos: - name: macOS - runs-on: macos-11 - defaults: - run: - shell: bash - env: - CC: gcc - CFGOPT: --disable-symbols --disable-shared - steps: - - name: Checkout Tk - uses: actions/checkout@v3 - with: - path: tk - - name: Checkout Tcl 8.7 - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-branch - path: tcl - - name: Checkout create-dmg - uses: actions/checkout@v3 - with: - repository: create-dmg/create-dmg - ref: v1.0.8 - path: create-dmg - - name: Setup Environment - run: | - mkdir -p 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 - echo "CFLAGS=-arch x86_64 -arch arm64" >> $GITHUB_ENV - working-directory: "." - - name: Configure Tcl - run: | - ./configure $CFGOPT --prefix=$INST_DIR - working-directory: tcl/unix - - name: Build & Install Tcl - run: | - make binaries libraries 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: Package - run: | - cp ../tk/unix/wish contents/${BUILD_NAME} - chmod +x contents/${BUILD_NAME} - cat > contents/README.txt <> $GITHUB_ENV - echo "VER_PATH=$(cd tcl/tools; pwd)/addVerToFile.tcl" >> $GITHUB_ENV - working-directory: "." - - name: Configure Tcl - run: | - ./configure $CFGOPT --prefix=$INST_DIR - working-directory: tcl/win - - name: Build & Install Tcl - run: | - make binaries libraries install - $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: Package - run: | - cp ${TK_BIN} combined/${BUILD_NAME}.exe - working-directory: install - env: - BUILD_NAME: wish${{ env.TCL_PATCHLEVEL }}_snapshot - - name: Upload - uses: actions/upload-artifact@v3 - with: - name: Wish ${{ env.TCL_PATCHLEVEL }} Windows single-file build (snapshot) - path: install/combined/wish${{ env.TCL_PATCHLEVEL }}_snapshot.exe diff --git a/.github/workflows/win-build.yml b/.github/workflows/win-build.yml index b0d844af9..e69de29bb 100644 --- a/.github/workflows/win-build.yml +++ b/.github/workflows/win-build.yml @@ -1,167 +0,0 @@ -name: Windows -on: [push] -permissions: - contents: read -env: - ERROR_ON_FAILURES: 1 -jobs: - msvc: - runs-on: windows-2022 - defaults: - run: - shell: powershell - working-directory: tk/win - # Using powershell means we need to explicitly stop on failure - strategy: - matrix: - symbols: - - "none" - - "symbols" - steps: - - name: Checkout Tk - uses: actions/checkout@v3 - with: - path: tk - - name: Checkout Tcl 8.7 - uses: actions/checkout@v3 - 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 (OPTS=${{ matrix.symbols }}) - run: | - &nmake -f makefile.vc release install OPTS=${{ matrix.symbols }} - if ($lastexitcode -ne 0) { - throw "nmake exit code: $lastexitcode" - } - working-directory: tcl/win - - name: Build Tk (OPTS=${{ matrix.symbols }}) - run: | - &nmake -f makefile.vc all OPTS=${{ matrix.symbols }} - if ($lastexitcode -ne 0) { - throw "nmake exit code: $lastexitcode" - } - - name: Build Test Harness (OPTS=${{ matrix.symbols }}) - run: | - &nmake -f makefile.vc tktest OPTS=${{ matrix.symbols }} - if ($lastexitcode -ne 0) { - throw "nmake exit code: $lastexitcode" - } - - name: Run Tk Tests (OPTS=${{ matrix.symbols }}) - run: | - nmake -f makefile.vc test-classic OPTS=${{ matrix.symbols }} | tee out-classic.txt || { - echo "::error::Failure during Test" - exit 1 - } - nmake -f makefile.vc test-ttk OPTS=${{ matrix.symbols }} | 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 (OPTS=${{ matrix.symbols }}) - run: | - &nmake -f makefile.vc htmlhelp OPTS=${{ matrix.symbols }} - if ($lastexitcode -ne 0) { - throw "nmake exit code: $lastexitcode" - } - - name: Install (OPTS=${{ matrix.symbols }}) - run: | - &nmake -f makefile.vc install OPTS=${{ matrix.symbols }} - if ($lastexitcode -ne 0) { - throw "nmake exit code: $lastexitcode" - } - gcc: - runs-on: windows-2019 - defaults: - run: - shell: msys2 {0} - working-directory: win - strategy: - matrix: - symbols: - - "no" - - "mem" - - "all" - steps: - - name: Install MSYS2 - uses: msys2/setup-msys2@v2 - with: - msystem: MINGW64 - install: git mingw-w64-x86_64-toolchain make zip - - name: Checkout Tk - uses: actions/checkout@v3 - - name: Checkout Tcl 8.7 - uses: actions/checkout@v3 - with: - repository: tcltk/tcl - ref: core-8-branch - path: tcl - - 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 Tk (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 Tk - run: | - make all tktest || { - echo "::error::Failure during Build" - exit 1 - } - - name: Run Tk 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 - }