@@ -4,22 +4,29 @@ name: 🧪 Functions Host E2E Tests
44# test/e2e-functions/test-app (backed by Azurite / AzureStorage) and drives the
55# app over HTTP, porting the extension repo's `BasicNode` app + xUnit tests.
66#
7- # The test-app depends on the PUBLISHED `durable-functions` + `@azure/functions`
8- # packages, so it installs and runs without any in-repo package build. The suite
9- # self-gates: each spec SKIPS cleanly when the Azure Functions Core Tools (`func`)
10- # or the Azurite storage emulator are unavailable, and RUNS when both are present.
11- # In CI below we install and start both, so the suite runs for real; the self-skip
12- # is the safety net that keeps the job green if a prerequisite fails to come up.
7+ # The test-app consumes the IN-REPO `durable-functions` (compat) package and core
8+ # `@microsoft/durabletask-js` via `file:` links, so those packages must be BUILT
9+ # before the test-app install (see the build step below). The suite self-gates:
10+ # each spec SKIPS cleanly when the Azure Functions Core Tools (`func`) or the
11+ # Azurite storage emulator are unavailable, and RUNS when both are present. In CI
12+ # below we install and start both, so the suite runs for real; the self-skip is
13+ # the safety net that keeps the job green if a prerequisite fails to come up.
1314#
14- # Triggering: this suite is run ad hoc (manual dispatch) for now while it beds in,
15- # so it does not gate day-to-day PRs. Start it from the Actions tab via "Run
16- # workflow" (workflow_dispatch). To re-enable automatic runs on pull requests
17- # later, add a `pull_request` trigger scoped to `test/e2e-functions/**` and this
18- # workflow file. NOTE: workflow_dispatch only appears in the Actions UI once this
19- # file exists on the repository's default branch.
15+ # Triggering: this suite runs automatically on pull requests that touch the
16+ # Functions surface (`test/e2e-functions/**`, `packages/azure-functions-durable/**`,
17+ # or this workflow file), and can also be started ad hoc from the Actions tab via
18+ # "Run workflow" (workflow_dispatch). It is intentionally scoped to the Functions
19+ # surface and does NOT gate core-only PRs, which have their own suites. NOTE:
20+ # workflow_dispatch only appears in the Actions UI once this file exists on the
21+ # repository's default branch.
2022
2123on :
2224 workflow_dispatch :
25+ pull_request :
26+ paths :
27+ - " test/e2e-functions/**"
28+ - " packages/azure-functions-durable/**"
29+ - " .github/workflows/functions-e2e-tests.yaml"
2330
2431permissions :
2532 contents : read
@@ -43,12 +50,18 @@ jobs:
4350 node-version : ${{ matrix.node-version }}
4451 registry-url : " https://registry.npmjs.org"
4552
46- # Root install provides jest + ts-jest used to run the spec files. The specs
47- # do not depend on the core durabletask-js packages, so no workspace build is
48- # required here .
53+ # Root install provides jest + ts-jest used to run the spec files, and lets
54+ # the workspace build below resolve the in-repo packages the test-app links
55+ # via `file:` refs .
4956 - name : ⚙️ Install dependencies
5057 run : npm ci
5158
59+ # Build the in-repo compat package (`durable-functions`); its build script
60+ # runs `build:core` first, so this also builds `packages/durabletask-js` into
61+ # dist/. Both must exist before the test-app's `file:`-linked install below.
62+ - name : 🏗️ Build in-repo durable-functions (+ core) for file: linking
63+ run : npm run build -w durable-functions
64+
5265 - name : 🔧 Install Azurite and Azure Functions Core Tools
5366 run : npm install -g azurite azure-functions-core-tools@4
5467
6679 sleep 1
6780 done
6881
69- # Installs the PUBLISHED durable-functions / @azure/functions packages and
70- # compiles the ported BasicNode app to dist/ (consumed by `func start`).
82+ # Installs the in-repo `durable-functions` (+ core `@microsoft/durabletask-js`)
83+ # packages via the test-app's `file:` refs and compiles the ported BasicNode
84+ # app to dist/ (consumed by `func start`).
7185 - name : 📦 Install + build test-app
7286 working-directory : test/e2e-functions/test-app
7387 run : |
0 commit comments