ci: pin GitHub Actions to commit hashes via pinact #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Node CI | |
| on: [push, pull_request] | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Checkout the npm/cli repo | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| - name: Use Node.js 14.x | |
| uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1.4.6 | |
| with: | |
| node-version: 14.x | |
| - name: Install dependencies | |
| run: | | |
| node . install --ignore-scripts --no-audit | |
| node . rebuild | |
| - name: Run linting | |
| run: node . run posttest | |
| env: | |
| DEPLOY_VERSION: testing | |
| check_docs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| - name: Use Node.js 14.x | |
| uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1.4.6 | |
| with: | |
| node-version: 14.x | |
| - name: Install dependencies | |
| run: | | |
| node . install --ignore-scripts --no-audit | |
| - name: Rebuild the docs | |
| run: make freshdocs | |
| - name: Git should not be dirty | |
| run: node scripts/git-dirty.js | |
| licenses: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Checkout the npm/cli repo | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| - name: Use Node.js 14.x | |
| uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1.4.6 | |
| with: | |
| node-version: 14.x | |
| - name: Install dependencies | |
| run: | | |
| node . install --ignore-scripts --no-audit | |
| node . rebuild | |
| - name: Run linting | |
| run: node . run licenses | |
| smoke-tests: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: [10.x, 12.x, 14.x, 16.x] | |
| platform: | |
| - os: ubuntu-latest | |
| shell: bash | |
| - os: macos-latest | |
| shell: bash | |
| - os: windows-latest | |
| shell: bash | |
| - os: windows-latest | |
| shell: powershell | |
| runs-on: ${{ matrix.platform.os }} | |
| defaults: | |
| run: | |
| shell: ${{ matrix.platform.shell }} | |
| steps: | |
| # Checkout the npm/cli repo | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| # Installs the specific version of Node.js | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1.4.6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| # Run the installer script | |
| - name: Install dependencies | |
| run: | | |
| node . install --ignore-scripts --no-audit | |
| node . rebuild | |
| # Run the smoke tests | |
| - name: Run Smoke tests | |
| run: node . run --ignore-scripts smoke-tests -- --no-check-coverage -t600 -Rbase -c | |
| env: | |
| DEPLOY_VERSION: testing | |
| workspaces-tests: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: [10.x, 12.x, 14.x, 16.x] | |
| platform: | |
| - os: ubuntu-latest | |
| shell: bash | |
| - os: macos-latest | |
| shell: bash | |
| - os: windows-latest | |
| shell: bash | |
| - os: windows-latest | |
| shell: powershell | |
| runs-on: ${{ matrix.platform.os }} | |
| defaults: | |
| run: | |
| shell: ${{ matrix.platform.shell }} | |
| steps: | |
| # Checkout the npm/cli repo | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| # Installs the specific version of Node.js | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1.4.6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| # Run the installer script | |
| - name: Install dependencies | |
| run: | | |
| node . install --ignore-scripts --no-audit | |
| node . rebuild | |
| - name: Run workspaces tests | |
| run: node . test -w ./packages -- --no-check-coverage -t600 -Rbase -c | |
| env: | |
| DEPLOY_VERSION: testing | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: ['10.1', 10.x, '12.1', 12.x, '14.1', 14.x, '16.1', 16.x] | |
| platform: | |
| - os: ubuntu-latest | |
| shell: bash | |
| - os: macos-latest | |
| shell: bash | |
| - os: windows-latest | |
| shell: bash | |
| - os: windows-latest | |
| shell: powershell | |
| runs-on: ${{ matrix.platform.os }} | |
| defaults: | |
| run: | |
| shell: ${{ matrix.platform.shell }} | |
| steps: | |
| # Checkout the npm/cli repo | |
| - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 | |
| # Installs the specific version of Node.js | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1.4.6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| # Run the installer script | |
| - name: Install dependencies | |
| run: | | |
| node . install --ignore-scripts --no-audit | |
| node . rebuild | |
| # Run the tests, but not if we're just gonna do coveralls later anyway | |
| - name: Run Tap tests | |
| if: matrix.platform.os != 'ubuntu-latest' || matrix.node-version != '12.x' | |
| run: node . run --ignore-scripts test -- -t600 -Rbase -c | |
| env: | |
| DEPLOY_VERSION: testing | |
| # Run coverage check | |
| - name: Run coverage report | |
| if: matrix.platform.os == 'ubuntu-latest' && matrix.node-version == '12.x' | |
| # turn off --check-coverage until 100%, so CI failure is relevant | |
| run: node . run check-coverage -- -t600 --no-check-coverage -Rbase -c | |
| env: | |
| DEPLOY_VERSION: testing | |
| COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_OPTIONAL_TOKEN }} | |
| # - name: Run sudo tests on Linux | |
| # if: matrix.os == 'ubuntu-latest' | |
| # run: sudo PATH=$PATH $(which node) . test -- --coverage --timeout 600 |