mirror of
https://github.com/envmodules/modules.git
synced 2026-05-30 00:12:31 +08:00
425 lines
15 KiB
YAML
425 lines
15 KiB
YAML
name: linux-tests
|
|
|
|
on:
|
|
push:
|
|
branches-ignore:
|
|
- c-main
|
|
- c-3.2
|
|
pull_request:
|
|
|
|
jobs:
|
|
tcl86-nolibtclenvmodules:
|
|
runs-on: ubuntu-22.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/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 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-22.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 --disable-spider-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=nagelfar135/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/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 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-22.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/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.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-22.04
|
|
env:
|
|
CONFIGURE_OPTS: --with-tclsh=tclsh8.6 --prefix=/tmp/modules --libdir=/tmp/modules/lib64 --enable-multilib-support --enable-new-features
|
|
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/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 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-22.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/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 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.0.2-src.tar.gz http://downloads.sourceforge.net/tcl/tcl9.0.2-src.tar.gz
|
|
tar xfz tcl9.0.2-src.tar.gz
|
|
cd tcl9.0.2/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
|