Skip to content

Commit 2cea52b

Browse files
committed
ci: add aws-ca-regression job and serialize awsiot.test across workflows.
1 parent 96c2ccb commit 2cea52b

2 files changed

Lines changed: 24 additions & 6 deletions

File tree

.github/workflows/ubuntu-check-curl.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@ jobs:
1111

1212
runs-on: ubuntu-22.04
1313
timeout-minutes: 5
14+
# Serialize with every other workflow that runs awsiot.test against
15+
# AWS IoT under the hard-coded "demoDevice" client ID. Without this,
16+
# parallel runs from sibling workflows clobber each other's MQTT
17+
# connections.
18+
concurrency:
19+
group: wolfmqtt-awsiot-external
20+
cancel-in-progress: false
1421

1522
steps:
1623
- name: Install dependencies

.github/workflows/ubuntu-check.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ jobs:
1111

1212
runs-on: ubuntu-22.04
1313
timeout-minutes: 5
14+
# Serialize across all workflows that exercise the hard-coded
15+
# "demoDevice" MQTT client ID against AWS IoT. Parallel runs from
16+
# different workflows (ubuntu-check, ubuntu-check-curl, this file's
17+
# aws-ca-regression) otherwise collide on the AWS side and produce
18+
# spurious "MQTT Connect/Subscribe: Error (Network) (-8)" failures.
19+
concurrency:
20+
group: wolfmqtt-awsiot-external
21+
cancel-in-progress: false
1422

1523
steps:
1624
- name: Install dependencies
@@ -130,13 +138,16 @@ jobs:
130138
# the demo, so this job needs external network access (same as the
131139
# `build` job's `make check`).
132140
#
133-
# `needs: build` serializes AWS IoT access: the `build` job already
134-
# invokes scripts/awsiot.test via `make check`, and both jobs share
135-
# the same hard-coded MQTT client ID "demoDevice". Running them in
136-
# parallel causes AWS IoT to drop connections ("MQTT Connect: Error
137-
# (Network) (-8)") from client-id collisions, which looks like a
138-
# test failure but is unrelated to the CA changes this job checks.
141+
# `needs: build` serializes AWS IoT access within this workflow.
142+
# The repo-wide `concurrency:` group below serializes against other
143+
# workflows (e.g. ubuntu-check-curl) that also run awsiot.test
144+
# against the same hard-coded "demoDevice" client ID. Without both,
145+
# parallel jobs cause AWS IoT to drop connections with "MQTT
146+
# Connect/Subscribe: Error (Network) (-8)".
139147
needs: build
148+
concurrency:
149+
group: wolfmqtt-awsiot-external
150+
cancel-in-progress: false
140151
#
141152
# case 1: default bundle (Amazon Root CA 1 + Starfield G2), wolfSSL
142153
# built WITHOUT WOLFSSL_NO_ASN_STRICT. Strict ASN parsing

0 commit comments

Comments
 (0)