mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 22:02:16 +00:00
The multi-year Google Health backfill run walked three and four years of heart rate on every pull request, some 3.7 million readings in over twenty minutes, which filled most of its shard's time budget. What a run costs is its pages, so a shorter history only helps with shorter slices. HEALTHLOG_BACKFILL_TEST_DAYS now sets the size. Unset, the runs walk 120 and 160 days in 50-page slices with the faults at the same places within them and the light collections already walked, about a tenth of the pages. The heap growth bound applies to the full run only. The full three and four years run nightly and on demand in integration-long.yml. Refs #1220
46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
name: Integration tests (long)
|
|
|
|
# The integration tests that take their size from the environment run small
|
|
# on every pull request and at full size here, once a night. Today that is
|
|
# the Google Health multi-year backfill: 45 and 60 days of heart rate on a
|
|
# pull request, three and four years (some 3.7 million readings, over twenty
|
|
# minutes) here. See the header of
|
|
# tests/integration/google-health-backfill-multi-year.test.ts.
|
|
on:
|
|
schedule:
|
|
- cron: "17 3 * * *"
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
long:
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 75
|
|
name: integration long
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
|
|
|
|
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
|
|
with:
|
|
node-version: 22
|
|
cache: pnpm
|
|
|
|
- run: pnpm install --frozen-lockfile
|
|
|
|
- run: pnpm db:generate
|
|
|
|
- run: pnpm exec vitest run --config vitest.integration.config.mts tests/integration/google-health-backfill-multi-year.test.ts
|
|
env:
|
|
HEALTHLOG_BACKFILL_TEST_DAYS: "1095"
|
|
# Under the production heap ceiling, which the test's heap check
|
|
# is about.
|
|
NODE_OPTIONS: "--max-old-space-size=524"
|
|
# Quoted for the reason given in integration.yml.
|
|
API_TOKEN_HMAC_KEY: "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
|
|
ENCRYPTION_KEY: "0000000000000000000000000000000000000000000000000000000000000000"
|
|
SESSION_SECRET: "integration-tests"
|