You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.7 KiB
107 lines
3.7 KiB
![]()
4 years ago
|
name: 'Tests on Windows: `nvm install`'
|
||
|
|
||
|
on: [pull_request, push]
|
||
|
|
||
|
env:
|
||
|
NVM_INSTALL_GITHUB_REPO: ${{ github.repository }}
|
||
|
NVM_INSTALL_VERSION: ${{ github.sha }}
|
||
|
|
||
|
jobs:
|
||
|
node_fail_install:
|
||
|
# Default installation does not work due to npm_config_prefix set to C:\npm\prefix
|
||
|
name: 'MSYS fail prefix nvm install'
|
||
|
runs-on: windows-latest
|
||
|
steps:
|
||
|
- name: Retrieve nvm
|
||
|
shell: bash
|
||
|
run: |
|
||
|
curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | METHOD=script bash
|
||
|
. "$HOME/.nvm/nvm.sh"
|
||
|
! nvm install --lts
|
||
|
nodes:
|
||
|
name: 'MSYS nvm install'
|
||
|
runs-on: windows-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
npm-node-version:
|
||
|
- '--lts'
|
||
|
- '--default 12'
|
||
|
- '--no-progress 10'
|
||
|
steps:
|
||
|
- name: Retrieve nvm
|
||
|
shell: bash
|
||
|
run: |
|
||
|
unset npm_config_prefix
|
||
|
if [ "${{ matrix.npm-node-version }}" = "--lts" ]; then
|
||
|
curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | bash
|
||
|
else
|
||
|
curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | METHOD=script bash
|
||
|
fi
|
||
|
. "$HOME/.nvm/nvm.sh"
|
||
|
nvm install ${{ matrix.npm-node-version }}
|
||
|
node_cygwin:
|
||
|
name: 'Cygwin nvm install'
|
||
|
runs-on: windows-latest
|
||
|
steps:
|
||
|
- name: Install Cygwin
|
||
|
shell: bash
|
||
|
run: |
|
||
|
export SITE='https://mirror.clarkson.edu/cygwin/'
|
||
|
export LOCALDIR="$(pwd)"
|
||
|
export ROOTDIR="$USERPROFILE\\cygwin"
|
||
|
export PACKAGES='bash,git,curl'
|
||
|
|
||
|
curl -fsSLo setup-x86_64.exe 'https://cygwin.com/setup-x86_64.exe'
|
||
|
./setup-x86_64.exe --disable-buggy-antivirus -q -s "$SITE" -l "$LOCALDIR" -R "$ROOTDIR" -P "$PACKAGES"
|
||
|
|
||
|
cat >~/setup.sh <<EOM
|
||
|
unset npm_config_prefix
|
||
|
export NVM_INSTALL_GITHUB_REPO="$NVM_INSTALL_GITHUB_REPO"
|
||
|
export NVM_INSTALL_VERSION="$NVM_INSTALL_VERSION"
|
||
|
|
||
|
curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | bash
|
||
|
. "$HOME/.nvm/nvm.sh"
|
||
|
nvm install --lts
|
||
|
|
||
|
nvm deactivate
|
||
|
rm -rf "$HOME/.nvm/nvm.sh"
|
||
|
|
||
|
curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | METHOD=script bash
|
||
|
. "$HOME/.nvm/nvm.sh"
|
||
|
nvm install 9
|
||
|
EOM
|
||
|
- name: Retrieve nvm
|
||
|
shell: cmd
|
||
|
run: |
|
||
|
cd %USERPROFILE%\cygwin\bin
|
||
|
bash.exe "%USERPROFILE%\setup.sh"
|
||
|
wsl_nodes:
|
||
|
name: 'WSL nvm install'
|
||
|
runs-on: windows-latest
|
||
|
env:
|
||
|
WSLENV: NVM_INSTALL_GITHUB_REPO:NVM_INSTALL_VERSION:/p
|
||
|
strategy:
|
||
|
matrix:
|
||
|
wsl-distrib:
|
||
|
- Debian
|
||
|
- Alpine
|
||
|
- Ubuntu-18.04
|
||
|
npm-node-version:
|
||
|
- '--lts'
|
||
|
- '11'
|
||
|
steps:
|
||
|
- uses: Vampire/setup-wsl@v1
|
||
|
with:
|
||
|
distribution: ${{ matrix.wsl-distrib }}
|
||
|
additional-packages: bash git curl ca-certificates
|
||
|
- name: Retrieve nvm on WSL
|
||
|
shell: wsl-bash {0}
|
||
|
run: |
|
||
|
if [ "${{ matrix.wsl-distrib }}" = "Ubuntu-18.04" ] && [ "${{ matrix.npm-node-version }}" = "--lts" ]; then
|
||
|
curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | bash
|
||
|
else
|
||
|
curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | METHOD=script bash
|
||
|
fi
|
||
|
. "$HOME/.nvm/nvm.sh"
|
||
|
nvm install ${{ matrix.npm-node-version }}
|