Skip to content

Commit 7057672

Browse files
authored
Create macos.yml
1 parent 10f0dd8 commit 7057672

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

.github/workflows/macos.yml

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: macOS Troubleshooting
2+
3+
on: [workflow_dispatch]
4+
5+
jobs:
6+
troubleshoot:
7+
runs-on: macos-15-xlarge
8+
strategy:
9+
matrix:
10+
test_command:
11+
- "sysbench cpu run --cpu-max-prime=1000000 --threads=1 --events=1000000000"
12+
- "sysbench cpu run --cpu-max-prime=10000000 --threads=$(sysctl -n hw.ncpu) --events=1000000000"
13+
- "sysbench memory run --memory-block-size=1M --memory-total-size=20000G --threads=1"
14+
- "sysbench memory run --memory-block-size=1M --memory-total-size=60000G --threads=$(sysctl -n hw.ncpu)"
15+
- "fio --name=write_test --rw=write --bs=4k --size=700M --numjobs=$(sysctl -n hw.ncpu)"
16+
- "fio --name=read_test --rw=read --bs=4k --size=2G --numjobs=$(sysctl -n hw.ncpu)"
17+
steps:
18+
19+
# - name: Checkout repository
20+
# uses: actions/checkout@v4
21+
22+
- name: Pre-check system state
23+
run: |
24+
echo "============ Initial System State ============"
25+
echo "========= Running Processes ========="
26+
ps aux
27+
echo "========= Disk Usage ========="
28+
df -h
29+
echo "========= Memory Usage ========="
30+
vm_stat
31+
echo "========= System Load ========="
32+
uptime
33+
34+
- name: Run test command multiple times
35+
run: |
36+
brew install sysbench fio
37+
for i in {1..10}; do
38+
echo "Iteration $i: Running command: ${{ matrix.test_command }}"
39+
eval "${{ matrix.test_command }}"
40+
done
41+
42+
- name: Collect system logs
43+
if: always()
44+
run: |
45+
mkdir -p logs
46+
echo "========= System Information =========" > logs/system_info.txt
47+
system_profiler SPSoftwareDataType >> logs/system_info.txt
48+
49+
echo "========= Disk Usage =========" >> logs/system_info.txt
50+
df -h >> logs/system_info.txt
51+
52+
echo "========= Memory Usage =========" >> logs/system_info.txt
53+
vm_stat >> logs/system_info.txt
54+
55+
echo "========= System Load =========" >> logs/system_info.txt
56+
uptime >> logs/system_info.txt
57+
58+
echo "========= Running Processes =========" >> logs/system_info.txt
59+
ps aux >> logs/system_info.txt
60+
61+
echo "========= GitHub Actions Runner Logs =========" > logs/runner_logs.txt
62+
cat /Users/runner/Library/Logs/github-actions/* >> logs/runner_logs.txt 2>/dev/null || echo "No runner logs found"
63+
64+
echo "========= System Logs =========" > logs/system_logs.txt
65+
log show --last 30m > logs/system_logs.txt || echo "Failed to collect system logs"
66+
67+
- name: Upload logs
68+
if: always()
69+
uses: actions/upload-artifact@v4
70+
with:
71+
name: macos-troubleshooting-logs-${{ matrix.test_command }}
72+
path: logs/

0 commit comments

Comments
 (0)