name: "Master Build, Test & Deploy" on: push: branches: - master jobs: main: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set node version uses: actions/setup-node@v1 with: node-version: '17.x' - name: Install run: | npm install npm run setheapsize - name: Lint run: npx grunt lint - name: Unit Tests run: | npm test npx grunt testnodeconsumer - name: Production Build if: success() run: npx grunt prod - name: Generate sitemap run: npx grunt exec:sitemap # - name: UI Tests # if: success() # run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui - name: Prepare for GitHub Pages if: success() run: npx grunt copy:ghPages - name: Deploy to GitHub Pages if: success() && github.ref == 'refs/heads/master' uses: crazy-max/ghaction-github-pages@v2 with: target_branch: gh-pages build_dir: ./build/prod env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}