diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2021-07-22 13:27:15 +0200 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2021-07-22 13:30:56 +0200 |
commit | 00105dca82d9fa61e287ba2ff73b1d8b1f01fafb (patch) | |
tree | 96c155218001a53da71d261b213f3db80eb6bf69 /.github | |
parent | 7ca81f360f42341b2941798374160d362507ba26 (diff) | |
download | nextcloud-server-00105dca82d9fa61e287ba2ff73b1d8b1f01fafb.tar.gz nextcloud-server-00105dca82d9fa61e287ba2ff73b1d8b1f01fafb.zip |
Add proper node testing
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/node-tests.yml | 91 |
1 files changed, 91 insertions, 0 deletions
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 |