From 50e56a26582ba8f1ed83be96ae0eea2aa505178b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 6 Oct 2026 05:30:30 +0000 Subject: [PATCH] ci: run unit tests on Linux; stabilize isToday test across time zones MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revert Unit tests to evoo-ci Linux for ffmpeg/libass coverage. Use a previous-day instant that stays on the prior calendar date in UTC+14…UTC-12. Co-authored-by: cynarAI --- .github/workflows/ci.yml | 5 +++-- apps/web/src/lib/heute-brief.test.ts | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index db204d9..105e557 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,8 @@ concurrency: cancel-in-progress: ${{ github.event_name == 'pull_request' }} # Jobs that only need Node/pnpm/bash use [self-hosted, evoo-ci] so macOS runners (air, mini) -# can share load. Linux-only work keeps the Linux label (Docker, xvfb, local Postgres :5433). +# can share load. Linux-only work keeps the Linux label (Docker, xvfb, local Postgres :5433, +# Homebrew ffmpeg with libass/subtitles filter for media unit tests). jobs: changes: @@ -193,7 +194,7 @@ jobs: name: Unit tests needs: changes if: needs.changes.outputs.product == 'true' - runs-on: [self-hosted, evoo-ci] + runs-on: [self-hosted, evoo-ci, Linux] steps: - uses: actions/checkout@v5 with: diff --git a/apps/web/src/lib/heute-brief.test.ts b/apps/web/src/lib/heute-brief.test.ts index f376f89..90c5a65 100644 --- a/apps/web/src/lib/heute-brief.test.ts +++ b/apps/web/src/lib/heute-brief.test.ts @@ -91,7 +91,8 @@ function run(overrides: Partial = {}): RunActivityRow { describe("isToday", () => { it("matches same calendar day", () => { expect(isToday("2026-09-22T08:30:00.000Z", now)).toBe(true); - expect(isToday("2026-09-21T23:59:00.000Z", now)).toBe(false); + // Midday UTC on the previous day stays the previous calendar day in UTC+14…UTC-12. + expect(isToday("2026-09-21T12:00:00.000Z", now)).toBe(false); }); });