Skip to content

Commit 269d45d

Browse files
committed
test: add CI job for docker-compose-dev.yml
Adds a compose-dev-test job that validates the dev compose file starts correctly and Temporal is functional. This would have caught the SQLite permission issue.
1 parent 2fb03b6 commit 269d45d

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

.github/workflows/compose.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,58 @@ jobs:
7878
working-directory: compose
7979
run: docker compose -f ${{ matrix.compose-file }} -f docker-compose-validate.yml down -v
8080

81+
compose-dev-test:
82+
name: Test docker-compose-dev.yml
83+
needs: lint-actions
84+
runs-on: ubuntu-latest
85+
timeout-minutes: 10
86+
steps:
87+
- uses: actions/checkout@v6
88+
89+
- name: Start dev compose stack
90+
working-directory: compose
91+
run: docker compose -f docker-compose-dev.yml up -d
92+
93+
- name: Wait for Temporal to be ready
94+
working-directory: compose
95+
run: |
96+
for i in $(seq 1 30); do
97+
if docker compose -f docker-compose-dev.yml exec temporal temporal operator cluster health 2>/dev/null; then
98+
echo "Temporal is ready"
99+
exit 0
100+
fi
101+
echo "Waiting for Temporal... ($i/30)"
102+
sleep 2
103+
done
104+
echo "Temporal failed to become ready"
105+
exit 1
106+
107+
- name: Validate Temporal is functional
108+
working-directory: compose
109+
run: |
110+
docker compose -f docker-compose-dev.yml exec temporal temporal operator namespace describe default
111+
docker compose -f docker-compose-dev.yml exec temporal temporal workflow start \
112+
--workflow-id validation-test \
113+
--type NonExistentWorkflow \
114+
--task-queue validation-queue \
115+
--execution-timeout 10s
116+
docker compose -f docker-compose-dev.yml exec temporal temporal workflow terminate \
117+
--workflow-id validation-test \
118+
--reason "Validation complete" || true
119+
120+
- name: Print all logs on failure
121+
if: failure()
122+
working-directory: compose
123+
run: |
124+
echo "=== Printing all container logs ==="
125+
docker compose -f docker-compose-dev.yml ps -a
126+
docker compose -f docker-compose-dev.yml logs
127+
128+
- name: Cleanup
129+
if: always()
130+
working-directory: compose
131+
run: docker compose -f docker-compose-dev.yml down -v
132+
81133
compose-tls-test:
82134
name: Test docker-compose-tls.yml
83135
needs: lint-actions

0 commit comments

Comments
 (0)