Skip to content

Merge pull request #27 from leaonline/patch-get-responses #68

Merge pull request #27 from leaonline/patch-get-responses

Merge pull request #27 from leaonline/patch-get-responses #68

Workflow file for this run

name: Test suite
on:
push:
branches:
- master
- develop
pull_request:
jobs:
lintcode:
name: Javascript lint
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 14
- name: cache dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-14-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-14-
- run: npm install
- run: npm run lint:code
lintstyle:
name: SCSS lint
runs-on: ubuntu-latest
needs: [lintcode]
steps:
- name: checkout
uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 14
- name: cache dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-14-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-14-
- run: npm install
- run: npm run lint:style
lintdocs:
name: documentation lint
runs-on: ubuntu-latest
needs: [lintcode,lintstyle]
steps:
- name: checkout
uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 14
- name: cache dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-14-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-14-
- run: npm install
- run: npm run lint:markdown
tests:
name: Meteor ${{ matrix.meteor }} tests
runs-on: ubuntu-latest
steps:
# CHECKOUTS
- name: Checkout
uses: actions/checkout@v3
- name: Checkout leaonline:testing repo
uses: actions/checkout@v3
with:
repository: leaonline/testing
path: github/testing
- name: Checkout leaonline:utils repo
uses: actions/checkout@v3
with:
repository: leaonline/utils
path: github/utils
- name: Checkout leaonline:corelib repo
uses: actions/checkout@v3
with:
repository: leaonline/corelib
path: github/corelib
- name: Checkout leaonline:ui repo
uses: actions/checkout@v3
with:
repository: leaonline/ui
path: github/ui
- name: Checkout leaonline:service-registry repo
uses: actions/checkout@v3
with:
repository: leaonline/service-registry
path: github/service-registry
- name: Checkout leaonline:theme repo
uses: actions/checkout@v3
with:
repository: leaonline/theme
path: github/theme
- name: Checkout Collection2
uses: actions/checkout@v3
with:
repository: Meteor-Community-Packages/meteor-collection2
path: github/meteor-collection2
ref: release/v4
# CACHING
- name: Install Meteor
id: cache-meteor-install
uses: actions/cache@v2
with:
path: ~/.meteor
key: v3-meteor-${{ hashFiles('.meteor/versions') }}
restore-keys: |
v3-meteor-
- name: Cache NPM dependencies
id: cache-meteor-npm
uses: actions/cache@v2
with:
path: ~/.npm
key: v3-npm-${{ hashFiles('package-lock.json') }}
restore-keys: |
v3-npm-
- name: Cache Meteor build
id: cache-meteor-build
uses: actions/cache@v2
with:
path: |
.meteor/local/resolver-result-cache.json
.meteor/local/plugin-cache
.meteor/local/isopacks
.meteor/local/bundler-cache/scanner
key: v3-meteor_build_cache-${{ github.ref }}-${{ github.sha }}
restore-key: |
v3-meteor_build_cache-
- name: Setup meteor
uses: meteorengineer/setup-meteor@v1
with:
meteor-release: '2.7.3'
- name: Install NPM Dependencies
run: meteor npm ci
- name: Run Tests
run: sh ./test.sh -c -o # run -o once with -c coverage
- name: Upload coverage
uses: actions/upload-artifact@v2
with:
name: coverage-folder
path: .coverage/
coverage:
name: Coverage report
runs-on: ubuntu-latest
needs: [tests]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download coverage
uses: actions/download-artifact@v2
with:
name: coverage-folder
path: .coverage/
- name: Coverage Report
uses: VeryGoodOpenSource/very_good_coverage@v1.1.1
with:
path: ".coverage/lcov.info"
min_coverage: 65 # TODO increase to 95!