• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

medplum / medplum / 30474001369
92%

Build:
DEFAULT BRANCH: main
Ran 29 Jul 2026 05:14PM UTC
Jobs 1
Files 848
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jul 2026 04:57PM UTC coverage: 91.976%. Remained the same
30474001369

push

github

web-flow
Fix S3 docs deploy (#10007)

For now, `www.medplum.com` is still hosted by Vercel, so this has not
been impactful, but in #7635 we introduced a "DEPLOY DOCS" chunk in
`scripts/cicd-deploy.sh` with the intention of pushing a copy of the
documentation into an S3 bucket.

That has not quite been working as intended; in the calling workflow
(`.github/workflows/deploy`) we invoke `npm run build:fast`, which does
not build the `docs` package (as it is slow).

This results in the cicd deploy script emitting output like this:
> ```
> Deploy docs
> + echo 'Deploy docs'
> + source ./scripts/deploy-docs.sh
> ++ [[ -z www.***.com ]]
> ++ set -e
> ++ set -x
> ++ node scripts/s3deploy.mjs packages/docs/build s3://www.***.com
> Starting deployment to s3://www.***.com/
> Error: ENOENT: no such file or directory, scandir 'packages/docs/build'
>     at async readdir (node:internal/fs/promises:956:18)
>     at async getFiles (file:///home/runner/work/***/***/scripts/s3deploy.mjs:126:17)
>     at async main (file:///home/runner/work/***/***/scripts/s3deploy.mjs:82:20) {
>   errno: -2,
>   code: 'ENOENT',
>   syscall: 'scandir',
>   path: 'packages/docs/build'
> }
> ```
(from https://github.com/medplum/medplum/actions/runs/30408761739/job/90440115038)

Let's fix this by actually invoking the build script in `packages/docs`,
which generates the `packages/docs/build` directory that the script is
expecting to read from.

To make such errors more apparent in the future, we also adjust the
error handling case in `scripts/s3deploy.mjs` - if we catch an error, we
set `process.exitCode = 1` so that when the node process terminates it
exits with a non-zero exit code. That is called from
`scripts/deploy-docs.sh`, which has the `-e` option set, so it will see
that the command exited abnormally and itself exit with the same error
code. That script is sourced from `scripts/cicd-deploy.sh`, which is
invoked as a `run` command inside `.github/workflows/deploy.yml`. That
will cause that ... (continued)

22657 of 25741 branches covered (88.02%)

Branch coverage included in aggregate %.

40204 of 42604 relevant lines covered (94.37%)

12285.51 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30474001369.1 29 Jul 2026 05:14PM UTC 848
91.98
GitHub Action Run
Source Files on build 30474001369
  • Tree
  • List 848
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30474001369
  • fedd509d on github
  • Prev Build on gh-readonly-queue/main/pr-9893-82ec27be0f70430d58af90b15ce7ba971b5fc98d (#30407565078)
  • Next Build on main (#30474915126)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc