Skip to content

node_mongo CI

node_mongo CI #6

Workflow file for this run

name: node_mongo CI
on:
pull_request:
push:
branches: [ main ]
paths: [ node_mongo/** ]
workflow_dispatch:
env:
node_app_root: node_mongo
jobs:
jest:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout the repo
uses: actions/checkout@v4
- name: Install modules
run: |
cd ${{ env.node_app_root }}
npm install
- name: Install Jest
run: |
cd ${{ env.node_app_root }}
npm install --global jest
- name: Run Jest
run: |
cd ${{ env.node_app_root }}
jest --json --outputFile=jest_results.json
- name: Test Summary
run: |
cd ${{ env.node_app_root }}
echo '### Tests' >> $GITHUB_STEP_SUMMARY
echo '| | Total | Passed | Pending | Failed |' >> $GITHUB_STEP_SUMMARY
echo '|---|:-----:|:------:|:-------:|:------:|' >> $GITHUB_STEP_SUMMARY
echo '| suites | ' $(jq '.numTotalTestSuites' jest_results.json) ' | ' $(jq '.numPassedTestSuites' jest_results.json) ' | ' $(jq '.numPendingTestSuites' jest_results.json) ' | ' $(jq '.numFailedTestSuites' jest_results.json) ' |' >> $GITHUB_STEP_SUMMARY
echo '| tests | ' $(jq '.numTotalTests' jest_results.json) ' | ' $(jq '.numPassedTests' jest_results.json) ' | ' $(jq '.numPendingTests' jest_results.json) ' | ' $(jq '.numFailedTests' jest_results.json) ' |' >> $GITHUB_STEP_SUMMARY
jq --raw-output '[.testResults[].assertionResults]|flatten|map(select(.status == "failed"))[]|[(.ancestorTitles|join(" >> ")),.title]|join(" | ")' jest_results.json >> failed.md
if [[ -s failed.md ]]
then
echo '' >> $GITHUB_STEP_SUMMARY
echo '### Failed Tests' >> $GITHUB_STEP_SUMMARY
echo '| Suite | Test |' >> $GITHUB_STEP_SUMMARY
echo '|-------|------|' >> $GITHUB_STEP_SUMMARY
cat failed.md >> $GITHUB_STEP_SUMMARY
fi
jq --raw-output '[.testResults[].assertionResults]|flatten|map(select(.status == "pending"))[]|[(.ancestorTitles|join(" >> ")),.title]|join(" | ")' jest_results.json >> pending.md
if [[ -s pending.md ]]
then
echo '' >> $GITHUB_STEP_SUMMARY
echo '### Pending (Skipped) Tests' >> $GITHUB_STEP_SUMMARY
echo '| Suite | Test |' >> $GITHUB_STEP_SUMMARY
echo '|-------|------|' >> $GITHUB_STEP_SUMMARY
cat pending.md >> $GITHUB_STEP_SUMMARY
fi
if: always()