windows-npm.yml 6.04 KiB
name: 'Tests on Windows: `nvm install`'
on: [pull_request, push]
permissions:
  contents: read
env:
  NVM_INSTALL_GITHUB_REPO: ${{ github.repository }}
  NVM_INSTALL_VERSION: ${{ github.sha }}
jobs:
  msys_fail_install:
    # Default installation does not work due to npm_config_prefix set to C:\npm\prefix
    permissions:
      contents: none
    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
  msys_matrix:
    permissions:
      contents: none
    name: 'MSYS nvm install'
    runs-on: windows-latest
    strategy:
      fail-fast: false
      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
          . "$HOME/.nvm/nvm.sh"
          nvm install ${{ matrix.npm-node-version }}
  cygwin_matrix:
    continue-on-error: true
    permissions:
      contents: none
    name: 'Cygwin nvm install'
    runs-on: windows-latest
    steps:
      - name: Install Cygwin
        shell: bash
        run: |
          export SITE='https://mirror.clarkson.edu/cygwin/' # see https://archlinux.org/mirrors/clarkson.edu/1603/ for uptime status
          export SITE='https://mirrors.kernel.org/sourceware/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"