Skip to content

Commit 3b80805

Browse files
Merge pull request #1017 from Max-Health-Inc/test
πŸš€ Auto-PR: Merge `test` β†’ `main`
2 parents 08210cb + 10617b9 commit 3b80805

16 files changed

Lines changed: 330 additions & 70 deletions

File tree

β€Ž.github/scripts/inferno-oauth-automation.jsβ€Ž

Lines changed: 268 additions & 41 deletions
Large diffs are not rendered by default.

β€Ž.github/workflows/smart-compliance-tests.ymlβ€Ž

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,17 +1317,23 @@ jobs:
13171317
INFERNO_EXIT_CODE=${PIPESTATUS[0]}
13181318
cd $GITHUB_WORKSPACE
13191319
1320-
# Parse results from the log
1321-
if grep -q "PASS:" inferno-output.log; then
1322-
PASSED=$(grep -c "βœ“ PASS:" inferno-output.log || true)
1323-
FAILED=$(grep -c "βœ— FAIL:" inferno-output.log || true)
1324-
else
1325-
PASSED=0
1326-
FAILED=0
1327-
fi
1328-
PASSED=${PASSED:-0}
1329-
FAILED=${FAILED:-0}
1330-
1320+
# Read the runner's own tally instead of re-counting log markers, which
1321+
# also matched the per-poll progress lines and could not see the tests
1322+
# that never reached a verdict.
1323+
SUMMARY_LINE=$(grep -E "^Total: [0-9]+ \| Passed:" inferno-output.log | tail -1 || true)
1324+
# `|| true` on every extraction: under `bash -e` a failed grep would
1325+
# abort this step, losing the summary in exactly the case (runner died
1326+
# before printing its tally) where it is most needed.
1327+
field() {
1328+
echo "$SUMMARY_LINE" | tr '|' '\n' | grep -iE "^ *$1:" | sed 's/.*: *//' | tr -d ' ' | head -1 || true
1329+
}
1330+
TOTAL=$(field Total || true); TOTAL=${TOTAL:-0}
1331+
PASSED=$(field Passed || true); PASSED=${PASSED:-0}
1332+
FAILED=$(field Failed || true); FAILED=${FAILED:-0}
1333+
INCOMPLETE=$(field Incomplete || true); INCOMPLETE=${INCOMPLETE:-0}
1334+
OMITTED=$(field Omitted || true); OMITTED=${OMITTED:-0}
1335+
ERRORS=$(field Errors || true); ERRORS=${ERRORS:-0}
1336+
13311337
# Write summary
13321338
echo "" >> $GITHUB_STEP_SUMMARY
13331339
echo "## SMART 2.2.0 Compliance Test Results" >> $GITHUB_STEP_SUMMARY
@@ -1341,16 +1347,31 @@ jobs:
13411347
13421348
echo "" >> $GITHUB_STEP_SUMMARY
13431349
echo "### Test Summary" >> $GITHUB_STEP_SUMMARY
1350+
echo "- Total: $TOTAL" >> $GITHUB_STEP_SUMMARY
13441351
echo "- Passed: $PASSED" >> $GITHUB_STEP_SUMMARY
13451352
echo "- Failed: $FAILED" >> $GITHUB_STEP_SUMMARY
1353+
echo "- Never reached a verdict: $INCOMPLETE" >> $GITHUB_STEP_SUMMARY
1354+
echo "- Omitted (not applicable here): $OMITTED" >> $GITHUB_STEP_SUMMARY
1355+
echo "- Internal errors: $ERRORS" >> $GITHUB_STEP_SUMMARY
13461356
echo "- Test Stage: ${{ env.TEST_STAGE }}" >> $GITHUB_STEP_SUMMARY
13471357
echo "" >> $GITHUB_STEP_SUMMARY
1358+
1359+
# Per-group marks were hardcoded to βœ“, so the summary claimed all four
1360+
# groups passed even when three of them never ran. Derive them.
13481361
echo "### Groups Tested" >> $GITHUB_STEP_SUMMARY
1349-
echo "- βœ“ Standalone Launch (Discovery + OAuth + OIDC + Token Refresh)" >> $GITHUB_STEP_SUMMARY
1350-
echo "- βœ“ Token Introspection" >> $GITHUB_STEP_SUMMARY
1351-
echo "- βœ“ Backend Services (client_credentials + asymmetric JWT)" >> $GITHUB_STEP_SUMMARY
1352-
echo "- βœ“ EHR Launch (EHR-initiated launch with patient context)" >> $GITHUB_STEP_SUMMARY
1353-
1362+
group_mark() {
1363+
if grep -qF "βœ— $1:" inferno-output.log; then echo "βœ—"; else echo "βœ“"; fi
1364+
}
1365+
echo "- $(group_mark 'Standalone Launch') Standalone Launch (Discovery + OAuth + OIDC + Token Refresh)" >> $GITHUB_STEP_SUMMARY
1366+
echo "- $(group_mark 'Token Introspection') Token Introspection" >> $GITHUB_STEP_SUMMARY
1367+
echo "- $(group_mark 'Backend Services') Backend Services (client_credentials + asymmetric JWT)" >> $GITHUB_STEP_SUMMARY
1368+
echo "- $(group_mark 'EHR Launch') EHR Launch (EHR-initiated launch with patient context)" >> $GITHUB_STEP_SUMMARY
1369+
1370+
if [ "$INCOMPLETE" -gt 0 ]; then
1371+
echo "" >> $GITHUB_STEP_SUMMARY
1372+
echo "> $INCOMPLETE test(s) never reached a verdict β€” see \"never reached a verdict\" in the log." >> $GITHUB_STEP_SUMMARY
1373+
fi
1374+
13541375
# Include FHIR server info
13551376
echo "" >> $GITHUB_STEP_SUMMARY
13561377
echo "### FHIR Server Configuration" >> $GITHUB_STEP_SUMMARY

β€ŽCHANGELOG.mdβ€Ž

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
66

77
## [Unreleased]
88

9+
## [0.3.14-beta.202608131924.cfdc0c7f7] - 2026-08-13
10+
11+
- πŸ”§ Chores & Improvements: CI/CD and version synchronization
12+
- Update version to 0.3.14-beta.202608131924.cfdc0c7f7 (beta)
13+
- chore: sync package versions
14+
- πŸ› Bug Fixes: EHR launch flow fix
15+
- fix(ci): perform the EHR half of the EHR launch instead of scraping a URL
16+
- Corrects misnamed launch path handling and ensures proper iss correlation
17+
18+
**Full Changelog**: https://github.com/Max-Health-Inc/proxy-smart/pull/1019
19+
20+
921
## [0.3.11-RELEASE.202608121633.0ee3da2eb] - 2026-08-13
1022

1123
- ✨ Features

β€Žbackend/package.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "proxy-smart-backend",
33
"displayName": "Proxy Smart Backend",
4-
"version": "0.3.13-RELEASE.202608131856.7385093a0",
4+
"version": "0.3.14-beta.202608131946.961ab42c4",
55
"type": "module",
66
"scripts": {
77
"test": "bun test --isolate",

β€Žconfig/eslint/package.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@proxy-smart/eslint-config",
3-
"version": "0.3.13-beta.202608131610.f7f7f64bd",
3+
"version": "0.3.14-beta.202608131924.cfdc0c7f7",
44
"private": true,
55
"type": "module",
66
"exports": {

β€Ždeploy/infra/package.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "proxy-smart-infra",
33
"displayName": "Proxy Smart Infrastructure",
44
"description": "AWS CDK infrastructure for Proxy Smart production deployment",
5-
"version": "0.3.13-RELEASE.202608131856.7385093a0",
5+
"version": "0.3.14-beta.202608131946.961ab42c4",
66
"private": true,
77
"type": "module",
88
"scripts": {

β€Žfrontend/smart-dicom-template/package.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "SMART DICOM Algorithm Template",
44
"description": "Starter kit for building SMART on FHIR imaging algorithm apps. Clone, implement your algorithm in src/algorithm.ts, and deploy as a SMART app.",
55
"private": true,
6-
"version": "0.3.13-beta.202608131610.f7f7f64bd",
6+
"version": "0.3.14-beta.202608131924.cfdc0c7f7",
77
"type": "module",
88
"scripts": {
99
"dev": "vite --port 5180",

β€Žfrontend/ui/package.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "Proxy Smart Admin UI",
44
"description": "A web-based administration interface for managing healthcare applications and resources via Proxy Smart.",
55
"private": true,
6-
"version": "0.3.13-beta.202608131610.f7f7f64bd",
6+
"version": "0.3.14-beta.202608131924.cfdc0c7f7",
77
"type": "module",
88
"scripts": {
99
"dev": "vite",

β€Žpackage.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "proxy-smart",
3-
"version": "0.3.13-RELEASE.202608131856.7385093a0",
3+
"version": "0.3.14-beta.202608131946.961ab42c4",
44
"repository": {
55
"type": "git",
66
"url": "git+https://github.com/Max-Health-Inc/proxy-smart.git"

β€Žpackages/app-store/package.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@proxy-smart/app-store",
3-
"version": "0.3.13-beta.202608131610.f7f7f64bd",
3+
"version": "0.3.14-beta.202608131924.cfdc0c7f7",
44
"private": false,
55
"type": "module",
66
"description": "SMART on FHIR app store β€” manifest discovery, visibility configuration, and registry CRUD. Framework-agnostic.",

0 commit comments

Comments
Β (0)