Add pwsh support #316
Workflow file for this run
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
name: linux-tests | |
on: | |
push: | |
branches-ignore: | |
- c-main | |
- c-3.2 | |
pull_request: | |
jobs: | |
tcl86-nolibtclenvmodules: | |
runs-on: ubuntu-20.04 | |
env: | |
CONFIGURE_OPTS: --with-tclsh=tclsh8.6 --disable-libtclenvmodules --prefix=/tmp/modules --with-pager=more --with-pager-opts=-X --with-initconf-in=initdir --enable-quarantine-support --disable-set-binpath --disable-set-manpath | |
COVERAGE: y | |
EXTRA_SCRIPT_PRETEST: make install-testmodulerc install-testetcrc install-testmodspath-empty install-testmoguicmd | |
EXTRA_SCRIPT_POSTTEST: make uninstall-testconfig | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install system packages | |
run: | | |
# add microsoft repository for powershell | |
curl -LJO https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb | |
sudo dpkg -i packages-microsoft-prod.deb | |
rm packages-microsoft-prod.deb | |
sudo apt-get -y update | |
sudo apt-get install -y expect-dev dejagnu python3-sphinx gzip bash tcsh ksh zsh fish tcl8.6 perl python3 ruby cmake r-base-core powershell | |
# add package to run tests in an X-enabled environment | |
sudo apt-get install -y xvfb x11-xserver-utils | |
- name: Build Modules | |
run: | | |
./configure $CONFIGURE_OPTS | |
make | |
- name: Test Modules build | |
run: | | |
eval $EXTRA_SCRIPT_PRETEST | |
make test-deps | |
xvfb-run script/mt | |
eval $EXTRA_SCRIPT_POSTTEST | |
- name: Install Modules | |
run: | | |
make install | |
- name: Test Modules installation | |
run: | | |
xvfb-run script/mt install | |
for f in tcl/*.tcl; do | |
script/nglfar2ccov $f | |
done | |
cd lib | |
gcov envmodules | |
- name: Uninstall Modules | |
run: | | |
make uninstall | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: testsuite-logs-${{ github.job }} | |
path: | | |
modules.log | |
install.log | |
retention-days: 5 | |
tcl85-nolibtclenvmodules: | |
runs-on: ubuntu-20.04 | |
env: | |
CONFIGURE_OPTS: --with-tclsh=tclsh8.5 --prefix=/tmp/modules --disable-libtclenvmodules --with-tcl=/usr/local/lib --enable-versioning --with-loadedmodules=null:dot --without-pager --disable-avail-indepth --with-terminal-background=light --with-unload-match-order=returnfirst --disable-implicit-default --with-search-match=contains --with-locked-configs=extra_siteconfig --disable-auto-handling --disable-extended-default --disable-advanced-version-spec --disable-color --with-icase=never --with-tcl-linter=nagelfar132/nagelfar.tcl | |
COVERAGE: y | |
EXTRA_SCRIPT_PRETEST: make install-testinitrc install-testsiteconfig | |
EXTRA_SCRIPT_POSTTEST: make uninstall-testconfig | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install system packages | |
run: | | |
# add microsoft repository for powershell | |
curl -LJO https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb | |
sudo dpkg -i packages-microsoft-prod.deb | |
rm packages-microsoft-prod.deb | |
sudo apt-get -y update | |
sudo apt-get install -y expect-dev dejagnu python3-sphinx gzip bash tcsh ksh zsh perl python3 ruby cmake r-base-core powershell | |
# libtclenvmodules build requirements | |
sudo apt-get install -y gcc autoconf | |
# manually install tcl8.5 | |
curl -L --output tcl8.5.19-src.tar.gz http://downloads.sourceforge.net/tcl/tcl8.5.19-src.tar.gz | |
tar xfz tcl8.5.19-src.tar.gz | |
cd tcl8.5.19/unix | |
./configure | |
make -j | |
sudo make install | |
- name: Build Modules | |
run: | | |
./configure $CONFIGURE_OPTS | |
make | |
- name: Test Modules build | |
run: | | |
eval $EXTRA_SCRIPT_PRETEST | |
make test-deps | |
script/mt | |
eval $EXTRA_SCRIPT_POSTTEST | |
- name: Install Modules | |
run: | | |
make install | |
- name: Test Modules installation | |
run: | | |
script/mt install | |
for f in tcl/*.tcl; do | |
script/nglfar2ccov $f | |
done | |
cd lib | |
gcov envmodules | |
- name: Uninstall Modules | |
run: | | |
make uninstall | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: testsuite-logs-${{ github.job }} | |
path: | | |
modules.log | |
install.log | |
retention-days: 5 | |
tcl85-2: | |
runs-on: ubuntu-20.04 | |
env: | |
CONFIGURE_OPTS: --with-tclsh=tclsh8.5 --prefix=/tmp/modules --with-tcl=/usr/local/lib --enable-quarantine-support --enable-silent-shell-debug-support --enable-modulespath --with-pager=more --with-dark-background-colors=hi --with-locked-configs=implicit_default --enable-wa-277 --enable-advanced-version-spec --disable-ml --disable-implicit-requirement --enable-set-shell-startup | |
COVERAGE: y | |
EXTRA_SCRIPT_PRETEST: make install-testinitrc-1 install-testetcrc install-testmodspath | |
EXTRA_SCRIPT_POSTTEST: make uninstall-testconfig | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install system packages | |
run: | | |
# add microsoft repository for powershell | |
curl -LJO https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb | |
sudo dpkg -i packages-microsoft-prod.deb | |
rm packages-microsoft-prod.deb | |
sudo apt-get -y update | |
sudo apt-get install -y expect-dev dejagnu python3-sphinx gzip bash tcsh ksh zsh fish perl python3 ruby cmake r-base-core powershell | |
# libtclenvmodules build requirements | |
sudo apt-get install -y gcc autoconf | |
# manually install tcl8.5 | |
curl -L --output tcl8.5.19-src.tar.gz http://downloads.sourceforge.net/tcl/tcl8.5.19-src.tar.gz | |
tar xfz tcl8.5.19-src.tar.gz | |
cd tcl8.5.19/unix | |
./configure | |
make -j | |
sudo make install | |
- name: Build Modules | |
run: | | |
./configure $CONFIGURE_OPTS | |
make | |
- name: Test Modules build | |
run: | | |
eval $EXTRA_SCRIPT_PRETEST | |
make test-deps | |
script/mt | |
eval $EXTRA_SCRIPT_POSTTEST | |
- name: Install Modules | |
run: | | |
make install | |
- name: Test Modules installation | |
run: | | |
script/mt install | |
for f in tcl/*.tcl; do | |
script/nglfar2ccov $f | |
done | |
cd lib | |
gcov envmodules | |
- name: Uninstall Modules | |
run: | | |
make uninstall | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: testsuite-logs-${{ github.job }} | |
path: | | |
modules.log | |
install.log | |
retention-days: 5 | |
tcl86: | |
runs-on: ubuntu-20.04 | |
env: | |
CONFIGURE_OPTS: --with-tclsh=tclsh8.6 --prefix=/tmp/modules --libdir=/tmp/modules/lib64 --enable-multilib-support | |
COVERAGE: y | |
COVERAGE_OLDTCL: y | |
COVERAGE_MULTILIB: y | |
EXTRA_SCRIPT_PRETEST: make install-testsiteconfig-1 && export TESTSUITE_ENABLE_SITECONFIG=1 | |
EXTRA_SCRIPT_POSTTEST: unset TESTSUITE_ENABLE_SITECONFIG | |
TESTSUITE_ENABLE_MODULECACHE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install system packages | |
run: | | |
# add microsoft repository for powershell | |
curl -LJO https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb | |
sudo dpkg -i packages-microsoft-prod.deb | |
rm packages-microsoft-prod.deb | |
sudo apt-get -y update | |
sudo apt-get install -y expect-dev dejagnu python3-sphinx gzip bash tcsh ksh zsh fish tcl8.6 perl python3 ruby cmake r-base-core powershell | |
# libtclenvmodules build requirements | |
sudo apt-get install -y gcc autoconf tcl8.6-dev | |
- name: Build Modules | |
run: | | |
./configure $CONFIGURE_OPTS | |
make | |
- name: Test Modules build | |
shell: 'script -q -e -c "bash {0}"' | |
run: | | |
set -e | |
eval $EXTRA_SCRIPT_PRETEST | |
make test-deps | |
script/mt | |
eval $EXTRA_SCRIPT_POSTTEST | |
- name: Install Modules | |
run: | | |
make install | |
- name: Test Modules installation | |
run: | | |
script/mt install | |
for f in tcl/*.tcl; do | |
script/nglfar2ccov $f | |
done | |
cd lib | |
gcov envmodules | |
- name: Uninstall Modules | |
run: | | |
make uninstall | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: testsuite-logs-${{ github.job }} | |
path: | | |
modules.log | |
install.log | |
retention-days: 5 | |
tcl85: | |
runs-on: ubuntu-20.04 | |
env: | |
CONFIGURE_OPTS: --with-tclsh=tclsh8.5 --prefix=/tmp/modules --with-tcl=/usr/local/lib | |
COVERAGE: y | |
EXTRA_SCRIPT_PRETEST: make install-testsiteconfig-1 && export TESTSUITE_ENABLE_SITECONFIG=1 | |
EXTRA_SCRIPT_POSTTEST: unset TESTSUITE_ENABLE_SITECONFIG | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install system packages | |
run: | | |
# add microsoft repository for powershell | |
curl -LJO https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb | |
sudo dpkg -i packages-microsoft-prod.deb | |
rm packages-microsoft-prod.deb | |
sudo apt-get -y update | |
sudo apt-get install -y expect-dev dejagnu python3-sphinx gzip bash tcsh ksh zsh perl python3 ruby cmake r-base-core powershell | |
# libtclenvmodules build requirements | |
sudo apt-get install -y gcc autoconf | |
# manually install tcl8.5 | |
curl -L --output tcl8.5.19-src.tar.gz http://downloads.sourceforge.net/tcl/tcl8.5.19-src.tar.gz | |
tar xfz tcl8.5.19-src.tar.gz | |
cd tcl8.5.19/unix | |
./configure | |
make -j | |
sudo make install | |
- name: Build Modules | |
run: | | |
./configure $CONFIGURE_OPTS | |
make | |
- name: Test Modules build | |
shell: 'script -q -e -c "bash {0}"' | |
run: | | |
set -e | |
eval $EXTRA_SCRIPT_PRETEST | |
make test-deps | |
script/mt | |
eval $EXTRA_SCRIPT_POSTTEST | |
- name: Install Modules | |
run: | | |
make install | |
- name: Test Modules installation | |
run: | | |
script/mt install | |
for f in tcl/*.tcl; do | |
script/nglfar2ccov $f | |
done | |
cd lib | |
gcov envmodules | |
- name: Uninstall Modules | |
run: | | |
make uninstall | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: testsuite-logs-${{ github.job }} | |
path: | | |
modules.log | |
install.log | |
retention-days: 5 | |
tcl87: | |
runs-on: ubuntu-22.04 | |
env: | |
CONFIGURE_OPTS: --with-tclsh=tclsh8.7 --prefix=/tmp/modules --with-tcl=/usr/local/lib | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install system packages | |
run: | | |
# add microsoft repository for powershell | |
curl -LJO https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb | |
sudo dpkg -i packages-microsoft-prod.deb | |
rm packages-microsoft-prod.deb | |
sudo apt-get -y update | |
sudo apt-get install -y expect-dev dejagnu python3-sphinx gzip bash tcsh ksh zsh fish perl python3 ruby cmake r-base-core powershell | |
# libtclenvmodules build requirements | |
sudo apt-get install -y gcc autoconf | |
# manually install tcl8.7 | |
curl -L --output tcl8.7a5-src.tar.gz http://downloads.sourceforge.net/tcl/tcl8.7a5-src.tar.gz | |
tar xfz tcl8.7a5-src.tar.gz | |
cd tcl8.7a5/unix | |
./configure | |
make -j | |
sudo make install | |
- name: Build Modules | |
run: | | |
./configure $CONFIGURE_OPTS | |
make | |
- name: Test Modules build | |
run: | | |
make test-deps | |
script/mt | |
- name: Install Modules | |
run: | | |
make install | |
- name: Test Modules installation | |
run: | | |
script/mt install | |
- name: Uninstall Modules | |
run: | | |
make uninstall | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: testsuite-logs-${{ github.job }} | |
path: | | |
modules.log | |
install.log | |
retention-days: 5 | |
tcl90: | |
runs-on: ubuntu-22.04 | |
env: | |
CONFIGURE_OPTS: --with-tclsh=tclsh9.0 --prefix=/tmp/modules --with-tcl=/usr/local/lib | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install system packages | |
run: | | |
# add microsoft repository for powershell | |
curl -LJO https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb | |
sudo dpkg -i packages-microsoft-prod.deb | |
rm packages-microsoft-prod.deb | |
sudo apt-get -y update | |
sudo apt-get install -y expect-dev dejagnu python3-sphinx gzip bash tcsh ksh zsh fish perl python3 ruby cmake r-base-core powershell | |
# libtclenvmodules build requirements | |
sudo apt-get install -y gcc autoconf | |
# manually install tcl9.0 | |
curl -L --output tcl9.0b3-src.tar.gz http://downloads.sourceforge.net/tcl/tcl9.0b3-src.tar.gz | |
tar xfz tcl9.0b3-src.tar.gz | |
cd tcl9.0b3/unix | |
./configure | |
make -j | |
sudo make install | |
- name: Build Modules | |
run: | | |
./configure $CONFIGURE_OPTS | |
make | |
- name: Test Modules build | |
run: | | |
make test-deps | |
script/mt | |
- name: Install Modules | |
run: | | |
make install | |
- name: Test Modules installation | |
run: | | |
script/mt install | |
- name: Uninstall Modules | |
run: | | |
make uninstall | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: testsuite-logs-${{ github.job }} | |
path: | | |
modules.log | |
install.log | |
retention-days: 5 |