name: Test & Deploy on: push: branches: - master jobs: setup: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set node version uses: actions/setup-node@v1 with: node-version: '10.x' - name: Install run: | npm install export NODE_OPTIONS=--max_old_space_size=2048 lint: needs: setup runs-on: ubuntu-latest - name: Lint run: npx grunt lint tests: needs: setup runs-on: ubuntu-latest - name: Unit Tests run: | npm test npx grunt testnodeconsumer build: needs: [lint, tests] runs-on: ubuntu-latest - name: Production Build run: npx grunt prod - name: Generate sitemap run: npx grunt exec:sitemap ui-tests: needs: build runs-on: ubuntu-latest - name: UI Tests run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui # - name: grunt copy:ghPages # - name: Deploy # uses: peaceiris/actions-gh-pages@v3 # with: # github_token: ${{ secrets.GITHUB_TOKEN }} # publish_dir: ./build/prod # Once NPM_AUTH_TOKEN set up in repo, uncomment this #- name: Deploy to NPM # run: | # npm config set //registry.npmjs.org/:_authToken=$NPM_TOKEN # npm publish || true # env: # Add NPM publish token to the repo secrets # NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}