123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- 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!
|