mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 16:43:55 +00:00
348 lines
8.4 KiB
YAML
348 lines
8.4 KiB
YAML
name: test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev
|
|
- 2.x
|
|
pull_request:
|
|
branches:
|
|
- dev
|
|
- 2.x
|
|
|
|
jobs:
|
|
setup:
|
|
runs-on: ${{ matrix.os }}
|
|
if: github.event_name == 'push' || !((github.base_ref == '2.x') && github.head_ref == 'dev')
|
|
|
|
strategy:
|
|
matrix:
|
|
# os: [ubuntu-latest, macos-latest, windows-latest]
|
|
os: [ubuntu-latest]
|
|
node: [10, 12]
|
|
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0 # All history
|
|
|
|
- name: fetch tags
|
|
run: git fetch --depth=1 origin "+refs/tags/*:refs/tags/*"
|
|
|
|
- name: cache node_modules
|
|
id: node_modules_cache_id
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-deps-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
|
|
|
|
- name: install
|
|
run: yarn --check-files --frozen-lockfile --non-interactive
|
|
|
|
- name: cache workspace
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
lint:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
node: [12]
|
|
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: checkout
|
|
uses: actions/checkout@master
|
|
|
|
- name: restore workspace cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
- name: lint
|
|
run: yarn test:lint
|
|
|
|
- name: test types
|
|
run: yarn test:types
|
|
needs: setup
|
|
|
|
audit:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
node: [12]
|
|
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: checkout
|
|
uses: actions/checkout@master
|
|
|
|
- name: restore workspace cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
- name: audit
|
|
run: yarn run audit
|
|
needs: setup
|
|
|
|
test-unit:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
# os: [ubuntu-latest, macos-latest, windows-latest]
|
|
os: [ubuntu-latest]
|
|
node: [10, 12]
|
|
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: checkout
|
|
uses: actions/checkout@master
|
|
|
|
- name: restore workspace cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
- name: test unit
|
|
run: yarn test:unit --coverage
|
|
|
|
- name: codecov
|
|
uses: codecov/codecov-action@v1
|
|
if: matrix.os == 'ubuntu-latest' && matrix.node == '10'
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
flags: unittests
|
|
needs: setup
|
|
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
# os: [ubuntu-latest, macos-latest, windows-latest]
|
|
os: [ubuntu-latest]
|
|
node: [10, 12]
|
|
|
|
env:
|
|
NODE_OPTIONS: "--max_old_space_size=4096"
|
|
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: checkout
|
|
uses: actions/checkout@master
|
|
|
|
- name: restore workspace cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
- name: build
|
|
run: yarn test:fixtures -i
|
|
|
|
- name: cache fixtures
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: test/fixtures
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-fixtures-${{ github.sha }}
|
|
needs: setup
|
|
|
|
lint-app:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
node: [12]
|
|
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: checkout
|
|
uses: actions/checkout@master
|
|
|
|
- name: restore workspace cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
- name: restore fixtures
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: test/fixtures
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-fixtures-${{ github.sha }}
|
|
|
|
- name: lint app
|
|
run: yarn lint:app
|
|
needs: build
|
|
|
|
test-dev:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
# os: [ubuntu-latest, macos-latest, windows-latest]
|
|
os: [ubuntu-latest]
|
|
node: [10, 12]
|
|
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: checkout
|
|
uses: actions/checkout@master
|
|
|
|
- name: restore workspace cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
- name: restore fixtures
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: test/fixtures
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-fixtures-${{ github.sha }}
|
|
|
|
- name: test dev
|
|
run: yarn test:dev -w=2
|
|
needs: build
|
|
|
|
test-e2e:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
# os: [ubuntu-latest, macos-latest, windows-latest]
|
|
os: [ubuntu-latest]
|
|
node: [10, 12]
|
|
|
|
steps:
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: checkout
|
|
uses: actions/checkout@master
|
|
|
|
- name: restore workspace cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
- name: restore fixtures
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: test/fixtures
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-fixtures-${{ github.sha }}
|
|
|
|
- name: test e2e
|
|
run: yarn test:e2e
|
|
needs: build
|
|
|
|
release-commit:
|
|
if: github.event_name == 'push' && contains(github.event.head_commit.message, '[release]')
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
node: [12]
|
|
|
|
steps:
|
|
- name: restore workspace cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
node_modules
|
|
packages/*/node_modules
|
|
distributions/*/node_modules
|
|
packages/*/dist
|
|
key: ${{ matrix.os }}-node-v${{ matrix.node }}-nuxt-${{ github.sha }}
|
|
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
registry-url: 'https://registry.npmjs.org'
|
|
|
|
- name: bump version
|
|
run: yarn lerna version --yes --no-git-tag-version --no-push
|
|
|
|
- name: build
|
|
run: PACKAGE_SUFFIX=edge yarn build
|
|
|
|
- name: publish
|
|
run: |
|
|
./scripts/workspace-run npm publish $tag -q
|
|
env:
|
|
ref: ${{ github.ref }}
|
|
NODE_AUTH_TOKEN: ${{secrets.NODE_AUTH_TOKEN}}
|
|
needs: [lint-app, test-dev, test-unit, test-e2e]
|