name: Node on: pull_request: push: branches: - master - stable* jobs: versions: runs-on: ubuntu-latest outputs: nodeVersion: ${{ steps.versions.outputs.nodeVersion }} npmVersion: ${{ steps.versions.outputs.npmVersion }} steps: - name: Checkout uses: actions/checkout@v2 - name: Read package.json node and npm engines version uses: skjnldsv/read-package-engines-version-actions@v1.1 id: versions with: fallbackNode: '^12' fallbackNpm: '^6' test: runs-on: ubuntu-latest needs: versions steps: - name: Checkout uses: actions/checkout@v2 - name: Set up node ${{ needs.versions.outputs.nodeVersion }} uses: actions/setup-node@v2 with: node-version: ${{ needs.versions.outputs.nodeVersion }} - name: Set up npm ${{ needs.versions.outputs.npmVersion }} run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}" - name: Install dependencies run: npm ci - name: Test run: npm run test jsunit: runs-on: ubuntu-latest needs: versions steps: - name: Checkout uses: actions/checkout@v2 - name: Set up node ${{ needs.versions.outputs.nodeVersion }} uses: actions/setup-node@v2 with: node-version: ${{ needs.versions.outputs.nodeVersion }} # This test requires npm6 for some reason # TODO: fix this and/or move away from jsunit - name: Set up npm 6 run: npm i -g npm@^6 - name: Test run: ./autotest-js.sh handlebars: runs-on: ubuntu-latest needs: versions steps: - name: Checkout uses: actions/checkout@v2 - name: Set up node ${{ needs.versions.outputs.nodeVersion }} uses: actions/setup-node@v2 with: node-version: ${{ needs.versions.outputs.nodeVersion }} - name: Set up npm ${{ needs.versions.outputs.npmVersion }} run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}" - name: Install dependencies run: npm ci - name: Run compile run: ./build/compile-handlebars-templates.sh