|
|
@@ -0,0 +1,91 @@ |
|
|
|
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 |