|
@@ -0,0 +1,161 @@
|
|
|
+name: Test suite
|
|
|
+
|
|
|
+on:
|
|
|
+ push:
|
|
|
+ branches:
|
|
|
+ - master
|
|
|
+ - develop
|
|
|
+ pull_request:
|
|
|
+
|
|
|
+jobs:
|
|
|
+# the following are optional jobs and need to be configured according
|
|
|
+# to this project's settings:
|
|
|
+#
|
|
|
+# lintcode:
|
|
|
+# name: Javascript lint
|
|
|
+# runs-on: ubuntu-latest
|
|
|
+# steps:
|
|
|
+# - name: checkout
|
|
|
+# uses: actions/checkout@v2
|
|
|
+#
|
|
|
+# - name: setup node
|
|
|
+# uses: actions/setup-node@v1
|
|
|
+# with:
|
|
|
+# node-version: '12.x'
|
|
|
+#
|
|
|
+# - name: cache dependencies
|
|
|
+# uses: actions/cache@v1
|
|
|
+# with:
|
|
|
+# path: ~/.npm
|
|
|
+# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
|
+# restore-keys: |
|
|
|
+# ${{ runner.os }}-node-
|
|
|
+#
|
|
|
+# - run: npm install
|
|
|
+# - run: npm run lint:code
|
|
|
+#
|
|
|
+# lintstyle:
|
|
|
+# name: SCSS lint
|
|
|
+# runs-on: ubuntu-latest
|
|
|
+# needs: [lintcode]
|
|
|
+# steps:
|
|
|
+# - name: checkout
|
|
|
+# uses: actions/checkout@v2
|
|
|
+#
|
|
|
+# - name: setup node
|
|
|
+# uses: actions/setup-node@v1
|
|
|
+# with:
|
|
|
+# node-version: '12.x'
|
|
|
+#
|
|
|
+# - name: cache dependencies
|
|
|
+# uses: actions/cache@v1
|
|
|
+# with:
|
|
|
+# path: ~/.npm
|
|
|
+# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
|
+# restore-keys: |
|
|
|
+# ${{ runner.os }}-node-
|
|
|
+# - 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@v2
|
|
|
+#
|
|
|
+# - name: setup node
|
|
|
+# uses: actions/setup-node@v1
|
|
|
+# with:
|
|
|
+# node-version: '12.x'
|
|
|
+#
|
|
|
+# - name: cache dependencies
|
|
|
+# uses: actions/cache@v1
|
|
|
+# with:
|
|
|
+# path: ~/.npm
|
|
|
+# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
|
+# restore-keys: |
|
|
|
+# ${{ runner.os }}-node-
|
|
|
+#
|
|
|
+# - 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@v2
|
|
|
+
|
|
|
+ # CACHING
|
|
|
+ - name: Install Meteor
|
|
|
+ id: cache-meteor-install
|
|
|
+ uses: actions/cache@v2
|
|
|
+ with:
|
|
|
+ path: ~/.meteor
|
|
|
+ key: v1-meteor-${{ hashFiles('.meteor/versions') }}
|
|
|
+ restore-keys: |
|
|
|
+ v1-meteor-
|
|
|
+
|
|
|
+ - name: Cache NPM dependencies
|
|
|
+ id: cache-meteor-npm
|
|
|
+ uses: actions/cache@v2
|
|
|
+ with:
|
|
|
+ path: ~/.npm
|
|
|
+ key: v1-npm-${{ hashFiles('package-lock.json') }}
|
|
|
+ restore-keys: |
|
|
|
+ v1-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: v1-meteor_build_cache-${{ github.ref }}-${{ github.sha }}
|
|
|
+ restore-key: |
|
|
|
+ v1-meteor_build_cache-
|
|
|
+
|
|
|
+ - name: Setup meteor
|
|
|
+ uses: meteorengineer/setup-meteor@v1
|
|
|
+ with:
|
|
|
+ meteor-release: '2.2'
|
|
|
+
|
|
|
+ - name: Install NPM Dependencies
|
|
|
+ run: meteor npm ci
|
|
|
+
|
|
|
+ - name: Run Tests
|
|
|
+ run: sh ./test-wkan.sh -cv
|
|
|
+
|
|
|
+ - 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@v2
|
|
|
+
|
|
|
+ - 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: 1 # TODO add tests and increase to 95!
|