mirror of
https://github.com/envmodules/modules.git
synced 2026-05-30 00:12:31 +08:00
When TESTSUITE_ENABLE_MODULECACHE environment variable is set, cache file is built for all modulepaths of the testsuite. Tests are run using the cache files to resolve available modules.
289 lines
9.7 KiB
YAML
289 lines
9.7 KiB
YAML
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
|
|
EXTRA_SCRIPT_POSTTEST: make uninstall-testconfig
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Install system packages
|
|
run: |
|
|
sudo apt-get -y update
|
|
sudo apt-get install -y expect-dev dejagnu python3-sphinx bash tcsh ksh zsh fish tcl8.6 perl python3 ruby cmake r-base-core
|
|
# 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
|
|
gcov -o lib envmodules
|
|
- name: Uninstall Modules
|
|
run: |
|
|
make uninstall
|
|
- uses: codecov/codecov-action@v3
|
|
- uses: actions/upload-artifact@v3
|
|
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@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Install system packages
|
|
run: |
|
|
sudo apt-get -y update
|
|
sudo apt-get install -y expect-dev dejagnu python3-sphinx bash tcsh ksh zsh perl python3 ruby cmake r-base-core
|
|
# 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
|
|
gcov -o lib envmodules
|
|
- name: Uninstall Modules
|
|
run: |
|
|
make uninstall
|
|
- uses: codecov/codecov-action@v3
|
|
- uses: actions/upload-artifact@v3
|
|
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@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Install system packages
|
|
run: |
|
|
sudo apt-get -y update
|
|
sudo apt-get install -y expect-dev dejagnu python3-sphinx bash tcsh ksh zsh fish perl python3 ruby cmake r-base-core
|
|
# 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
|
|
gcov -o lib envmodules
|
|
- name: Uninstall Modules
|
|
run: |
|
|
make uninstall
|
|
- uses: codecov/codecov-action@v3
|
|
- uses: actions/upload-artifact@v3
|
|
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@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Install system packages
|
|
run: |
|
|
sudo apt-get -y update
|
|
sudo apt-get install -y expect-dev dejagnu python3-sphinx bash tcsh ksh zsh fish tcl8.6 perl python3 ruby cmake r-base-core
|
|
# 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
|
|
gcov -o lib envmodules
|
|
- name: Uninstall Modules
|
|
run: |
|
|
make uninstall
|
|
- uses: codecov/codecov-action@v3
|
|
- uses: actions/upload-artifact@v3
|
|
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@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Install system packages
|
|
run: |
|
|
sudo apt-get -y update
|
|
sudo apt-get install -y expect-dev dejagnu python3-sphinx bash tcsh ksh zsh perl python3 ruby cmake r-base-core
|
|
# 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
|
|
gcov -o lib envmodules
|
|
- name: Uninstall Modules
|
|
run: |
|
|
make uninstall
|
|
- uses: codecov/codecov-action@v3
|
|
- uses: actions/upload-artifact@v3
|
|
if: failure()
|
|
with:
|
|
name: testsuite-logs-${{ github.job }}
|
|
path: |
|
|
modules.log
|
|
install.log
|
|
retention-days: 5
|
|
|