mirror of
https://github.com/envmodules/modules.git
synced 2026-05-30 00:12:31 +08:00
Instead of using wget and curl for different installation tasks, move all usages to curl to only rely on one tool. Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>
204 lines
7.5 KiB
YAML
204 lines
7.5 KiB
YAML
name: windows-tests
|
|
|
|
on:
|
|
push:
|
|
branches-ignore:
|
|
- c-main
|
|
- c-3.2
|
|
pull_request:
|
|
|
|
jobs:
|
|
native-cmd:
|
|
runs-on: windows-2022
|
|
env:
|
|
TCL_INSTALLER: SetupTcl-8.6.13-x64_Bawt-2.3.1
|
|
TCL_DL_URL: http://www.bawt.tcl3d.org/download/Tcl-Pure
|
|
TCLSH_DIR: C:\Tcl\bin
|
|
DIST_WIN: modules-*-win
|
|
MODULE_DIR: C:\Program Files\Environment Modules\bin
|
|
steps:
|
|
- name: Configure Git autocrlf
|
|
shell: bash
|
|
run: git config --global core.autocrlf input
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
set-safe-directory: /cygdrive/d/a/modules/modules
|
|
- uses: cygwin/cygwin-install-action@master
|
|
with:
|
|
# precise all sphinxcontrib packages required as dependency spec
|
|
# of python39-sphinx package is regularly broken
|
|
packages: make sed git autoconf automake libtool tcl python39 python39-sphinx gzip zip python39-sphinxcontrib-applehelp python39-sphinxcontrib-devhelp python39-sphinxcontrib-htmlhelp python39-sphinxco ntrib-jsmath python39-sphinxcontrib-qthelp python39-sphinxcontrib-serializinghtml python39-sphinxcontrib-websupport python39-alabaster python39-sqlalchemy
|
|
- name: Install Tcl under Windows
|
|
shell: cmd
|
|
run: |
|
|
curl -LfsS -o %TCL_INSTALLER%.exe %TCL_DL_URL%/%TCL_INSTALLER%.exe
|
|
%TCL_INSTALLER% /verysilent
|
|
- name: Configure Git safe.directory
|
|
run: |
|
|
bash -lc 'git config --global --add safe.directory $(cygpath -u "$GITHUB_WORKSPACE")'
|
|
- name: Build Modules dist
|
|
run: |
|
|
bash -lc 'cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure --disable-libtclenvmodules && make dist-win'
|
|
- name: Install Modules
|
|
shell: cmd
|
|
run: |
|
|
jar xvf %DIST_WIN%.zip
|
|
cd %DIST_WIN%
|
|
INSTALL.bat
|
|
- name: Test Modules installation
|
|
shell: cmd
|
|
run: |
|
|
:: manually define module cmd dir as PATH updated by INSTALL.bat
|
|
:: is not inherited by test_script
|
|
if not "%TCLSH_DIR%" == "" path %MODULE_DIR%;%TCLSH_DIR%;%PATH%
|
|
cd %DIST_WIN%
|
|
TESTINSTALL.bat
|
|
- name: Uninstall Modules
|
|
shell: cmd
|
|
run: |
|
|
cd %DIST_WIN%
|
|
UNINSTALL.bat
|
|
|
|
native-pwsh:
|
|
runs-on: windows-2022
|
|
env:
|
|
TCL_INSTALLER: SetupTcl-8.6.13-x64_Bawt-2.3.1
|
|
TCL_DL_URL: http://www.bawt.tcl3d.org/download/Tcl-Pure
|
|
TCLSH_DIR: C:\Tcl\bin
|
|
DIST_WIN: modules-*-win
|
|
steps:
|
|
- name: Configure Git autocrlf
|
|
shell: bash
|
|
run: git config --global core.autocrlf input
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
set-safe-directory: /cygdrive/d/a/modules/modules
|
|
- uses: cygwin/cygwin-install-action@master
|
|
with:
|
|
# precise all sphinxcontrib packages required as dependency spec
|
|
# of python39-sphinx package is regularly broken
|
|
packages: make sed git autoconf automake libtool tcl python39 python39-sphinx gzip zip python39-sphinxcontrib-applehelp python39-sphinxcontrib-devhelp python39-sphinxcontrib-htmlhelp python39-sphinxco ntrib-jsmath python39-sphinxcontrib-qthelp python39-sphinxcontrib-serializinghtml python39-sphinxcontrib-websupport python39-alabaster python39-sqlalchemy
|
|
- name: Install Tcl under Windows
|
|
shell: cmd
|
|
run: |
|
|
curl -LfsS -o %TCL_INSTALLER%.exe %TCL_DL_URL%/%TCL_INSTALLER%.exe
|
|
%TCL_INSTALLER% /verysilent
|
|
- name: Configure Git safe.directory
|
|
run: |
|
|
bash -lc 'git config --global --add safe.directory $(cygpath -u "$GITHUB_WORKSPACE")'
|
|
- name: Build Modules dist
|
|
run: |
|
|
bash -lc 'cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure --disable-libtclenvmodules && make dist-win'
|
|
- name: Install Modules
|
|
shell: cmd
|
|
run: |
|
|
jar xvf %DIST_WIN%.zip
|
|
cd %DIST_WIN%
|
|
INSTALL_PWSH.bat
|
|
- name: Test Modules installation
|
|
shell: cmd
|
|
run: |
|
|
:: manually define module cmd dir as PATH updated by INSTALL.bat
|
|
:: is not inherited by test_script
|
|
if not "%TCLSH_DIR%" == "" path %TCLSH_DIR%;%PATH%
|
|
cd %DIST_WIN%
|
|
pwsh TESTINSTALL_PWSH.ps1
|
|
- name: Uninstall Modules
|
|
shell: cmd
|
|
run: |
|
|
cd %DIST_WIN%
|
|
UNINSTALL.bat
|
|
|
|
cygwin:
|
|
runs-on: windows-2022
|
|
steps:
|
|
- name: Configure Git autocrlf
|
|
shell: bash
|
|
run: git config --global core.autocrlf input
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
set-safe-directory: /cygdrive/d/a/modules/modules
|
|
- uses: cygwin/cygwin-install-action@master
|
|
with:
|
|
# precise all sphinxcontrib packages required as dependency spec
|
|
# of python39-sphinx package is regularly broken
|
|
# precise liblapack0 package needed by R package (missing dependency
|
|
# since R-4.2.1-1)
|
|
packages: make sed git autoconf automake libtool tcl dejagnu python39 python39-sphinx gzip ruby zsh tcsh mksh fish cmake R liblapack0 tcl-devel gcc-core curl python39-sphinxcontrib-applehelp python39-sphinxcontrib-devhelp python39-sphinxcontrib-htmlhelp python39-sphinxcontrib-jsmath python39-sphinxcontrib-qthelp python39-sphinxcontrib-serializinghtml python39-sphinxcontrib-websupport python39-alabaster python39-sqlalchemy
|
|
- name: Configure Git safe.directory
|
|
run: |
|
|
bash -lc 'git config --global --add safe.directory $(cygpath -u "$GITHUB_WORKSPACE")'
|
|
- name: Build Modules
|
|
run: |
|
|
bash -lc 'cd $(cygpath -u "$GITHUB_WORKSPACE") && ./configure && make'
|
|
- name: Test Modules build
|
|
run: |
|
|
bash -lc 'cd $(cygpath -u "$GITHUB_WORKSPACE") && script/mt'
|
|
- name: Install Modules
|
|
run: |
|
|
bash -lc 'cd $(cygpath -u "$GITHUB_WORKSPACE") && make install'
|
|
- name: Test Modules installation
|
|
run: |
|
|
bash -lc 'cd $(cygpath -u "$GITHUB_WORKSPACE") && script/mt install'
|
|
- name: Uninstall Modules
|
|
run: |
|
|
bash -lc 'cd $(cygpath -u "$GITHUB_WORKSPACE") && make uninstall'
|
|
- uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: testsuite-logs-${{ github.job }}
|
|
path: |
|
|
modules.log
|
|
install.log
|
|
retention-days: 5
|
|
|
|
msys:
|
|
runs-on: windows-2022
|
|
steps:
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: MSYS
|
|
update: true
|
|
- name: Configure Git autocrlf
|
|
shell: bash
|
|
run: git config --global core.autocrlf input
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Install system packages
|
|
shell: msys2 {0}
|
|
run: |
|
|
pacman --noconfirm --noprogressbar -S tcl tcl-devel dejagnu python ruby cmake zsh tcsh mksh fish gcc autoconf make git curl gzip
|
|
- name: Build Modules
|
|
shell: msys2 {0}
|
|
run: |
|
|
./configure
|
|
make
|
|
- name: Test Modules build
|
|
shell: msys2 {0}
|
|
run: |
|
|
script/mt
|
|
- name: Install Modules
|
|
shell: msys2 {0}
|
|
run: |
|
|
make install
|
|
- name: Test Modules installation
|
|
shell: msys2 {0}
|
|
run: |
|
|
script/mt install
|
|
- name: Uninstall Modules
|
|
shell: msys2 {0}
|
|
run: |
|
|
make uninstall
|
|
- uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: testsuite-logs-${{ github.job }}
|
|
path: |
|
|
modules.log
|
|
install.log
|
|
retention-days: 5
|