Browse Source
chore(ci): replace jest workflow with node-test
chore(ci): replace jest workflow with node-test
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>pull/15727/head
Failed to extract signature
2 changed files with 110 additions and 54 deletions
@ -1,54 +0,0 @@ |
|||
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors |
|||
# SPDX-License-Identifier: MIT |
|||
|
|||
name: Jest |
|||
|
|||
on: |
|||
pull_request: |
|||
paths: |
|||
- '.github/workflows/**' |
|||
- 'src/**' |
|||
- 'appinfo/info.xml' |
|||
- 'package.json' |
|||
- 'package-lock.json' |
|||
- 'tsconfig.json' |
|||
- '**.js' |
|||
|
|||
permissions: |
|||
contents: read |
|||
|
|||
concurrency: |
|||
group: jest-${{ github.head_ref || github.run_id }} |
|||
cancel-in-progress: true |
|||
|
|||
jobs: |
|||
build: |
|||
runs-on: ubuntu-latest |
|||
|
|||
name: node |
|||
steps: |
|||
- name: Checkout |
|||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
|||
with: |
|||
persist-credentials: false |
|||
|
|||
- name: Read package.json node and npm engines version |
|||
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 |
|||
id: versions |
|||
with: |
|||
fallbackNode: '^12' |
|||
fallbackNpm: '^6' |
|||
|
|||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }} |
|||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 |
|||
with: |
|||
node-version: ${{ steps.versions.outputs.nodeVersion }} |
|||
|
|||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }} |
|||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" |
|||
|
|||
- name: Install dependencies |
|||
run: npm ci |
|||
|
|||
- name: Run jest |
|||
run: npm run test:coverage -- --colors |
|||
@ -0,0 +1,110 @@ |
|||
# This workflow is provided via the organization template repository |
|||
# |
|||
# https://github.com/nextcloud/.github |
|||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization |
|||
# |
|||
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors |
|||
# SPDX-License-Identifier: MIT |
|||
|
|||
name: Node tests |
|||
|
|||
on: |
|||
pull_request: |
|||
push: |
|||
branches: |
|||
- main |
|||
- master |
|||
- stable* |
|||
|
|||
permissions: |
|||
contents: read |
|||
|
|||
concurrency: |
|||
group: node-tests-${{ github.head_ref || github.run_id }} |
|||
cancel-in-progress: true |
|||
|
|||
jobs: |
|||
changes: |
|||
runs-on: ubuntu-latest-low |
|||
permissions: |
|||
contents: read |
|||
pull-requests: read |
|||
|
|||
outputs: |
|||
src: ${{ steps.changes.outputs.src}} |
|||
|
|||
steps: |
|||
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 |
|||
id: changes |
|||
continue-on-error: true |
|||
with: |
|||
filters: | |
|||
src: |
|||
- '.github/workflows/**' |
|||
- '__tests__/**' |
|||
- '__mocks__/**' |
|||
- 'src/**' |
|||
- 'appinfo/info.xml' |
|||
- 'package.json' |
|||
- 'package-lock.json' |
|||
- 'tsconfig.json' |
|||
- '**.js' |
|||
- '**.ts' |
|||
- '**.vue' |
|||
|
|||
test: |
|||
runs-on: ubuntu-latest |
|||
|
|||
needs: changes |
|||
if: needs.changes.outputs.src != 'false' |
|||
|
|||
steps: |
|||
- name: Checkout |
|||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
|||
with: |
|||
persist-credentials: false |
|||
|
|||
- name: Read package.json node and npm engines version |
|||
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3 |
|||
id: versions |
|||
with: |
|||
fallbackNode: '^20' |
|||
fallbackNpm: '^10' |
|||
|
|||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }} |
|||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 |
|||
with: |
|||
node-version: ${{ steps.versions.outputs.nodeVersion }} |
|||
|
|||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }} |
|||
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' |
|||
|
|||
# In contrast to the workflow template, there is no build step here |
|||
- name: Install dependencies |
|||
env: |
|||
CYPRESS_INSTALL_BINARY: 0 |
|||
run: | |
|||
npm ci |
|||
|
|||
# In contrast to the workflow template, there is no coverage step here |
|||
- name: Test |
|||
run: npm run test --if-present |
|||
|
|||
- name: Collect coverage |
|||
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0 |
|||
with: |
|||
files: ./coverage/lcov.info |
|||
|
|||
summary: |
|||
permissions: |
|||
contents: none |
|||
runs-on: ubuntu-latest-low |
|||
needs: [changes, test] |
|||
|
|||
if: always() |
|||
|
|||
name: test-summary |
|||
|
|||
steps: |
|||
- name: Summary status |
|||
run: if ${{ needs.changes.outputs.src != 'false' && needs.test.result != 'success' }}; then exit 1; fi |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue