Skip to content

Commit b8a87df

Browse files
ci(test-server): run the cross-language suite on PR/push
1 parent dcf3d9d commit b8a87df

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

.github/workflows/test-server.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,46 @@ jobs:
4242
- name: Test server
4343
working-directory: test-server
4444
run: npm test
45+
46+
# The complete cross-language TestServer run: `make test-server` clones the
47+
# commons repo and orchestrates the full matrix with this working tree as the
48+
# live JavaScript server. Runs on every pull_request/push; needs the
49+
# CI_AWS_ROLE_ARN and COMMONS_REPO_TOKEN repo secrets.
50+
test-server:
51+
name: Cross-language TestServer run
52+
runs-on: ubuntu-latest
53+
permissions:
54+
id-token: write
55+
contents: read
56+
env:
57+
AWS_REGION: us-west-2
58+
steps:
59+
- uses: actions/checkout@v4
60+
61+
- name: Setup Node.js
62+
uses: actions/setup-node@v4
63+
with:
64+
node-version: "22.x"
65+
cache: "npm"
66+
67+
# The commons orchestrator (smithy-java) needs a JDK 21+
68+
- name: Set up JDK 21 (Temurin)
69+
uses: actions/setup-java@v4
70+
with:
71+
distribution: temurin
72+
java-version: "21"
73+
74+
- name: Configure AWS credentials (branch-key-store account)
75+
uses: aws-actions/configure-aws-credentials@v4
76+
with:
77+
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
78+
aws-region: us-west-2
79+
80+
# The private commons clone (git@ URL from commons-configuration.json)
81+
# picks up this SSH -> HTTPS+token mapping.
82+
- name: Authenticate the commons clone
83+
run: git config --global url."https://x-access-token:${{ secrets.COMMONS_REPO_TOKEN }}@github.com/".insteadOf "git@github.com:"
84+
85+
- name: Run the orchestrated TestServer
86+
working-directory: test-server
87+
run: make test-server

0 commit comments

Comments
 (0)