Skip to content

Commit 81aafef

Browse files
dahliaclaude
andcommitted
Add Stalwart service to CI for JMAP E2E tests
- Add Stalwart Mail Server service to test-node, test-deno, test-bun jobs - Add STALWART_* environment variables for JMAP authentication - Run setup-stalwart.sh to create test accounts before tests Co-Authored-By: Claude <noreply@anthropic.com>
1 parent c1b1781 commit 81aafef

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

.github/workflows/main.yaml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,27 @@ jobs:
1919
--health-timeout=10s
2020
--health-retries=3
2121
--health-start-period=40s
22+
stalwart:
23+
image: stalwartlabs/stalwart:latest
24+
ports:
25+
- 8080:8080 # HTTP/JMAP port
26+
env:
27+
STALWART_ADMIN_PASSWORD: admin123
28+
options: >-
29+
--health-cmd="curl -sf http://localhost:8080/ || exit 1"
30+
--health-interval=10s
31+
--health-timeout=5s
32+
--health-retries=5
33+
--health-start-period=30s
2234
env:
2335
MAILPIT_SMTP_HOST: localhost
2436
MAILPIT_SMTP_PORT: 1025
2537
MAILPIT_SMTP_SECURE: "false"
2638
MAILPIT_API_URL: http://localhost:8025
39+
STALWART_SESSION_URL: http://localhost:8080/jmap/session
40+
STALWART_USERNAME: test@mail.example.com
41+
STALWART_PASSWORD: password123
42+
STALWART_BASE_URL: http://localhost:8080
2743
MAILGUN_KEY: ${{ secrets.MAILGUN_KEY }}
2844
MAILGUN_FROM: ${{ secrets.MAILGUN_FROM }}
2945
MAILGUN_TO: ${{ secrets.MAILGUN_TO }}
@@ -44,6 +60,8 @@ jobs:
4460
- uses: actions/setup-node@v4
4561
with:
4662
node-version: latest
63+
- name: Setup Stalwart test accounts
64+
run: ./packages/jmap/scripts/setup-stalwart.sh
4765
- run: pnpm run -r test
4866

4967
test-deno:
@@ -63,11 +81,27 @@ jobs:
6381
--health-timeout=10s
6482
--health-retries=3
6583
--health-start-period=40s
84+
stalwart:
85+
image: stalwartlabs/stalwart:latest
86+
ports:
87+
- 8080:8080 # HTTP/JMAP port
88+
env:
89+
STALWART_ADMIN_PASSWORD: admin123
90+
options: >-
91+
--health-cmd="curl -sf http://localhost:8080/ || exit 1"
92+
--health-interval=10s
93+
--health-timeout=5s
94+
--health-retries=5
95+
--health-start-period=30s
6696
env:
6797
MAILPIT_SMTP_HOST: localhost
6898
MAILPIT_SMTP_PORT: 1025
6999
MAILPIT_SMTP_SECURE: "false"
70100
MAILPIT_API_URL: http://localhost:8025
101+
STALWART_SESSION_URL: http://localhost:8080/jmap/session
102+
STALWART_USERNAME: test@mail.example.com
103+
STALWART_PASSWORD: password123
104+
STALWART_BASE_URL: http://localhost:8080
71105
MAILGUN_KEY: ${{ secrets.MAILGUN_KEY }}
72106
MAILGUN_FROM: ${{ secrets.MAILGUN_FROM }}
73107
MAILGUN_TO: ${{ secrets.MAILGUN_TO }}
@@ -84,6 +118,8 @@ jobs:
84118
- uses: denoland/setup-deno@v2
85119
with:
86120
deno-version: v2.x
121+
- name: Setup Stalwart test accounts
122+
run: ./packages/jmap/scripts/setup-stalwart.sh
87123
- run: deno task test --coverage --junit-path=junit.xml
88124
- if: ${{ !cancelled() }}
89125
uses: codecov/test-results-action@v1
@@ -112,11 +148,27 @@ jobs:
112148
--health-timeout=10s
113149
--health-retries=3
114150
--health-start-period=40s
151+
stalwart:
152+
image: stalwartlabs/stalwart:latest
153+
ports:
154+
- 8080:8080 # HTTP/JMAP port
155+
env:
156+
STALWART_ADMIN_PASSWORD: admin123
157+
options: >-
158+
--health-cmd="curl -sf http://localhost:8080/ || exit 1"
159+
--health-interval=10s
160+
--health-timeout=5s
161+
--health-retries=5
162+
--health-start-period=30s
115163
env:
116164
MAILPIT_SMTP_HOST: localhost
117165
MAILPIT_SMTP_PORT: 1025
118166
MAILPIT_SMTP_SECURE: "false"
119167
MAILPIT_API_URL: http://localhost:8025
168+
STALWART_SESSION_URL: http://localhost:8080/jmap/session
169+
STALWART_USERNAME: test@mail.example.com
170+
STALWART_PASSWORD: password123
171+
STALWART_BASE_URL: http://localhost:8080
120172
MAILGUN_KEY: ${{ secrets.MAILGUN_KEY }}
121173
MAILGUN_FROM: ${{ secrets.MAILGUN_FROM }}
122174
MAILGUN_TO: ${{ secrets.MAILGUN_TO }}
@@ -137,6 +189,8 @@ jobs:
137189
- uses: oven-sh/setup-bun@v2
138190
with:
139191
bun-version: 1.2.22
192+
- name: Setup Stalwart test accounts
193+
run: ./packages/jmap/scripts/setup-stalwart.sh
140194
- run: pnpm run -r test:bun
141195

142196
check:

0 commit comments

Comments
 (0)