Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ci.yml « workflows « .github - github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b6b9125938e1e081d45847e5e9e067d5d6e20a91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
name: Node CI

on:
  pull_request:
    branches:
      - '*'
  push:
    branches:
      - release-next
      - latest
  workflow_dispatch:

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      # Checkout the npm/cli repo
      - uses: actions/checkout@v2
      - name: Use Node.js 14.x
        uses: actions/setup-node@v2
        with:
          node-version: 14.x
          cache: npm
      - name: Install dependencies
        run: |
          node ./bin/npm-cli.js install --ignore-scripts --no-audit
          node ./bin/npm-cli.js rebuild
      - name: Run linting
        run: node ./bin/npm-cli.js run posttest
        env:
          DEPLOY_VERSION: testing

  check_docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js 14.x
        uses: actions/setup-node@v2
        with:
          node-version: 14.x
          cache: npm
      - name: Install dependencies
        run: |
          node ./bin/npm-cli.js 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@v2
      - name: Use Node.js 14.x
        uses: actions/setup-node@v2
        with:
          node-version: 14.x
          cache: npm
      - name: Install dependencies
        run: |
          node ./bin/npm-cli.js install --ignore-scripts --no-audit
          node ./bin/npm-cli.js rebuild
      - name: Validate licenses
        run: node ./bin/npm-cli.js run licenses

  smoke-tests:
    strategy:
      fail-fast: false
      matrix:
        node-version: [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@v2

      # Installs the specific version of Node.js
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v2
      with:
        node-version: ${{ matrix.node-version }}
        cache: npm

      # Run the installer script
    - name: Install dependencies
      run: |
        node ./bin/npm-cli.js install --ignore-scripts --no-audit
        node ./bin/npm-cli.js rebuild

      # Run the smoke tests
    - name: Run Smoke tests
      run: node ./bin/npm-cli.js run --ignore-scripts smoke-tests -- --no-check-coverage -t600 -Rbase -c
      env:
        DEPLOY_VERSION: testing

  test:
    strategy:
      fail-fast: false
      matrix:
        node-version: ['12.13.0', 12.x, '14.15.0', 14.x, '16.0.0', 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@v2

      # Installs the specific version of Node.js
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v2
      with:
        node-version: ${{ matrix.node-version }}
        cache: npm

      # Run the installer script
    - name: Install dependencies
      run: |
        node ./bin/npm-cli.js install --ignore-scripts --no-audit
        node ./bin/npm-cli.js 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 != '16.x'
      run: node ./bin/npm-cli.js 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 == '16.x'
      # turn off --check-coverage until 100%, so CI failure is relevant
      run: node ./bin/npm-cli.js 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