Skip to content

Bump @types/node from 22.9.0 to 22.10.0 (#165) #419

Bump @types/node from 22.9.0 to 22.10.0 (#165)

Bump @types/node from 22.9.0 to 22.10.0 (#165) #419

Workflow file for this run

name: tests
on:
push:
branches:
- main
pull_request:
merge_group:
jobs:
e2e:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up node env
uses: actions/setup-node@v4
with:
node-version: 20
- name: Create .env file
run: |
echo -e "NB_OPENNEURO_UPLOAD_API=${{ secrets.NB_OPENNEURO_UPLOAD_API }}\nNB_USERNAME=${{ secrets.NB_USERNAME }}\nNB_PASSWORD=${{ secrets.NB_PASSWORD }}" > .env
- name: build
run: npm install && npm run build
- name: Run end to end tests
uses: cypress-io/github-action@v6
with:
wait-on: http://localhost:5173
start: npm run preview
component: false
- name: Upload e2e coverage artifact
uses: actions/upload-artifact@v4
with:
name: e2eCov
path: coverage
component:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Create .env file
run: |
echo -e "NB_OPENNEURO_UPLOAD_API=${{ secrets.NB_OPENNEURO_UPLOAD_API }}\nNB_USERNAME=${{ secrets.NB_USERNAME }}\nNB_PASSWORD=${{ secrets.NB_PASSWORD }}" > .env
- name: build
run: npm install && npm run build
- name: Run component tests
uses: cypress-io/github-action@v6
with:
component: true
- name: Upload component coverage artifact
uses: actions/upload-artifact@v4
with:
name: compCov
path: coverage
unit:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm run test:unit
- name: Upload unit coverage artifact
uses: actions/upload-artifact@v4
with:
name: unitCov
path: coverage
merge-coverage:
# Run this job only if both e2e and component tests passed
needs: [e2e, component, unit]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup
run: npm install
- name: Download e2e coverage artifacts
uses: actions/download-artifact@v4
with:
name: e2eCov
path: e2eCov
- name: Download component coverage artifacts
uses: actions/download-artifact@v4
with:
name: compCov
path: compCov
- name: Download unit coverage artifacts
uses: actions/download-artifact@v4
with:
name: unitCov
path: unitCov
- name: Install nyc
run: npm install -g nyc
- name: Merge coverage reports
run: |
mkdir -p combined_coverage final_coverage
nyc merge e2eCov combined_coverage/e2e.json
nyc merge compCov combined_coverage/component.json
nyc merge unitCov combined_coverage/unit.json
nyc merge combined_coverage final_coverage/combined-coverage.json
- name: Generate final coverage report
run: nyc report --reporter=lcov --temp-dir final_coverage --report-dir ./coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage/lcov.info
flags: tests
name: codecov-combined
fail_ci_if_error: true