Skip to content

Commit 22cbc0f

Browse files
committed
Use Logto for release integration preflight
1 parent f72b54e commit 22cbc0f

2 files changed

Lines changed: 37 additions & 2 deletions

File tree

.github/workflows/integration-full.yml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,19 @@ on:
3939
HCLOUD_SSH_PUBLIC_KEY:
4040
required: true
4141
ZITADEL_CLOUD_ISSUER:
42-
required: true
42+
required: false
4343
ZITADEL_CLOUD_PAT:
44-
required: true
44+
required: false
4545
ZITADEL_CLOUD_ORG_ID:
4646
required: false
47+
LOGTO_TENANT_ENDPOINT:
48+
required: true
49+
LOGTO_M2M_CLIENT_ID:
50+
required: true
51+
LOGTO_M2M_CLIENT_SECRET:
52+
required: true
53+
LOGTO_MANAGEMENT_API_RESOURCE:
54+
required: false
4755
S3_ENDPOINT:
4856
required: true
4957
S3_BUCKET:
@@ -81,9 +89,14 @@ jobs:
8189
HCLOUD_SERVER_TYPE: ${{ secrets.HCLOUD_SERVER_TYPE }}
8290
HCLOUD_SSH_PRIVATE_KEY: ${{ secrets.HCLOUD_SSH_PRIVATE_KEY }}
8391
HCLOUD_SSH_PUBLIC_KEY: ${{ secrets.HCLOUD_SSH_PUBLIC_KEY }}
92+
TERRARIUM_INTEGRATION_IDP_PROVIDER: ${{ inputs.release_preflight && 'logto' || '' }}
8493
ZITADEL_CLOUD_ISSUER: ${{ secrets.ZITADEL_CLOUD_ISSUER }}
8594
ZITADEL_CLOUD_PAT: ${{ secrets.ZITADEL_CLOUD_PAT }}
8695
ZITADEL_CLOUD_ORG_ID: ${{ secrets.ZITADEL_CLOUD_ORG_ID }}
96+
LOGTO_TENANT_ENDPOINT: ${{ secrets.LOGTO_TENANT_ENDPOINT }}
97+
LOGTO_M2M_CLIENT_ID: ${{ secrets.LOGTO_M2M_CLIENT_ID }}
98+
LOGTO_M2M_CLIENT_SECRET: ${{ secrets.LOGTO_M2M_CLIENT_SECRET }}
99+
LOGTO_MANAGEMENT_API_RESOURCE: ${{ secrets.LOGTO_MANAGEMENT_API_RESOURCE }}
87100
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
88101
S3_BUCKET: ${{ secrets.S3_BUCKET }}
89102
S3_REGION: ${{ secrets.S3_REGION }}
@@ -122,6 +135,13 @@ jobs:
122135
else
123136
bun run tests/integration/index.ts --suite smoke
124137
fi
138+
- name: Upload smoke integration output
139+
if: failure()
140+
uses: actions/upload-artifact@v4
141+
with:
142+
name: integration-smoke-output
143+
path: ${{ env.TERRARIUM_INTEGRATION_OUTPUT_DIR }}
144+
if-no-files-found: warn
125145

126146
post_smoke:
127147
name: post-smoke
@@ -137,9 +157,14 @@ jobs:
137157
HCLOUD_SERVER_TYPE: ${{ secrets.HCLOUD_SERVER_TYPE }}
138158
HCLOUD_SSH_PRIVATE_KEY: ${{ secrets.HCLOUD_SSH_PRIVATE_KEY }}
139159
HCLOUD_SSH_PUBLIC_KEY: ${{ secrets.HCLOUD_SSH_PUBLIC_KEY }}
160+
TERRARIUM_INTEGRATION_IDP_PROVIDER: ${{ inputs.release_preflight && 'logto' || '' }}
140161
ZITADEL_CLOUD_ISSUER: ${{ secrets.ZITADEL_CLOUD_ISSUER }}
141162
ZITADEL_CLOUD_PAT: ${{ secrets.ZITADEL_CLOUD_PAT }}
142163
ZITADEL_CLOUD_ORG_ID: ${{ secrets.ZITADEL_CLOUD_ORG_ID }}
164+
LOGTO_TENANT_ENDPOINT: ${{ secrets.LOGTO_TENANT_ENDPOINT }}
165+
LOGTO_M2M_CLIENT_ID: ${{ secrets.LOGTO_M2M_CLIENT_ID }}
166+
LOGTO_M2M_CLIENT_SECRET: ${{ secrets.LOGTO_M2M_CLIENT_SECRET }}
167+
LOGTO_MANAGEMENT_API_RESOURCE: ${{ secrets.LOGTO_MANAGEMENT_API_RESOURCE }}
143168
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
144169
S3_BUCKET: ${{ secrets.S3_BUCKET }}
145170
S3_REGION: ${{ secrets.S3_REGION }}
@@ -178,3 +203,10 @@ jobs:
178203
else
179204
bun run tests/integration/index.ts --suite full --only full
180205
fi
206+
- name: Upload post-smoke integration output
207+
if: failure()
208+
uses: actions/upload-artifact@v4
209+
with:
210+
name: integration-post-smoke-output
211+
path: ${{ env.TERRARIUM_INTEGRATION_OUTPUT_DIR }}
212+
if-no-files-found: warn

tests/integration/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ External OIDC provider selection:
113113
- The Logto M2M application must have Logto Management API access with `all`
114114
permissions. Running a local Logto runtime is out of scope for this harness.
115115

116+
GitHub Actions release preflight sets `TERRARIUM_INTEGRATION_IDP_PROVIDER=logto`,
117+
so repository secrets must include the three required `LOGTO_*` variables above.
118+
116119
Optional:
117120

118121
- `HCLOUD_BINARY_TARGET` defaults to `x64`.

0 commit comments

Comments
 (0)