# # This source file is part of the Stanford Biodesign Digital Health ENGAGE-HF open-source project # # SPDX-FileCopyrightText: 2023 Stanford University and the project authors (see CONTRIBUTORS.md) # # SPDX-License-Identifier: MIT # name: Build and Test concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true on: pull_request: workflow_dispatch: workflow_call: jobs: reuseaction: name: REUSE Compliance Check uses: StanfordBDHG/.github/.github/workflows/reuse.yml@v2 markdownlinkcheck: name: Markdown Link Check uses: StanfordBDHG/.github/.github/workflows/markdown-link-check.yml@v2 lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: lfs: 'true' - name: Git LFS Pull run: git lfs pull - name: Use Node.js 22.x uses: actions/setup-node@v4 with: node-version: 22.6.x - name: Install Dependencies run: npm run install - name: Build run: npm run build - name: Lint run: npm run lint:strict permissions: contents: read buildandtest: name: Build and Test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: lfs: 'true' - name: Git LFS Pull run: git lfs pull - name: Use Node.js 22.x uses: actions/setup-node@v4 with: node-version: 22.6.x - name: Install Dependencies run: npm run install - name: Install Firebase CLI run: npm install -g firebase-tools - name: Build run: npm run build - name: Test id: test run: npm run test:ci - name: Archive Regenerated Test Results uses: actions/upload-artifact@v4 with: name: test results path: functions/src/tests/resources permissions: contents: read