Skip to content

Commit 837c4d2

Browse files
authored
Add stress tests on Apple Silicon (#4634)
1 parent c8a8022 commit 837c4d2

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.github/workflows/stress-test-runtime.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,3 +332,66 @@ jobs:
332332
type: stream
333333
topic: ${{ github.repository }} scheduled job failure
334334
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
335+
336+
arm64-macos:
337+
runs-on: macos-14
338+
339+
strategy:
340+
fail-fast: false
341+
matrix:
342+
include:
343+
- name: "arm64 macOS [release]"
344+
target: test-stress-ubench-release
345+
- name: "arm64 macOS [debug]"
346+
target: test-stress-ubench-debug
347+
- name: "arm64 macOS [cd] [release]"
348+
target: test-stress-ubench-with-cd-release
349+
- name: "arm64 macOS [cd] [debug]"
350+
target: test-stress-ubench-with-cd-debug
351+
- name: "arm64 macOS [release]"
352+
target: test-stress-tcp-open-close-release
353+
- name: "arm64 macOS [debug]"
354+
target: test-stress-tcp-open-close-debug
355+
- name: "arm64 macOS [cd] [release]"
356+
target: test-stress-tcp-open-close-with-cd-release
357+
- name: "arm64 macOS [cd] [debug]"
358+
target: test-stress-tcp-open-close-with-cd-debug
359+
360+
name: ${{matrix.target}}:${{ matrix.name }}
361+
steps:
362+
- name: Checkout
363+
uses: actions/checkout@v4.1.1
364+
- name: Restore Libs Cache
365+
id: restore-libs
366+
uses: actions/cache/restore@v4
367+
with:
368+
path: build/libs
369+
key: libs-arm64-macos-14-${{ hashFiles('Makefile', 'CMakeLists.txt', 'lib/CMakeLists.txt') }}
370+
- name: Build Libs
371+
if: steps.restore-libs.outputs.cache-hit != 'true'
372+
run: make libs build_flags=-j8
373+
- name: Save Libs Cache
374+
if: steps.restore-libs.outputs.cache-hit != 'true'
375+
uses: actions/cache/save@v4
376+
with:
377+
path: build/libs
378+
key: libs-arm64-macos-14-${{ hashFiles('Makefile', 'CMakeLists.txt', 'lib/CMakeLists.txt') }}
379+
- name: Build Debug Runtime
380+
run: |
381+
make configure config=debug
382+
make build config=debug
383+
- name: Configure networking
384+
run: bash .ci-scripts/macOS-configure-networking.bash
385+
- name: Run Stress Test
386+
run: make ${{ matrix.target }} config=debug usedebugger=lldb
387+
- name: Send alert on failure
388+
if: ${{ failure() }}
389+
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
390+
with:
391+
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
392+
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
393+
organization-url: 'https://ponylang.zulipchat.com/'
394+
to: notifications
395+
type: stream
396+
topic: ${{ github.repository }} scheduled job failure
397+
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.

0 commit comments

Comments
 (0)