From 00105dca82d9fa61e287ba2ff73b1d8b1f01fafb Mon Sep 17 00:00:00 2001 From: "John Molakvoæ (skjnldsv)" Date: Thu, 22 Jul 2021 13:27:15 +0200 Subject: Add proper node testing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- .github/workflows/node-tests.yml | 91 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 .github/workflows/node-tests.yml (limited to '.github') diff --git a/.github/workflows/node-tests.yml b/.github/workflows/node-tests.yml new file mode 100644 index 00000000000..fbb280873d8 --- /dev/null +++ b/.github/workflows/node-tests.yml @@ -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 -- cgit v1.2.3