-
Notifications
You must be signed in to change notification settings - Fork 64
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build Tk against Tcl's disabletcl8api branch
- Loading branch information
jan.nijtmans
committed
Apr 25, 2023
1 parent
c0f6ddc
commit 130539e
Showing
7 changed files
with
2 additions
and
1,075 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.