name: Mac Runner Concurrency Test on: [workflow_dispatch, push] jobs: long-job-a: name: Long job A runs-on: macos-arm64 steps: - name: Print info run: | echo "Job A on $(uname -a)" sw_vers || true whoami pwd - name: Create artifact run: | mkdir -p _work/concurrentA echo "concurrent A" > _work/concurrentA/marker.txt ls -lah _work/concurrentA - name: Simulate long work run: | echo "Sleeping to simulate long task..." sleep 60 long-job-b: name: Long job B runs-on: macos-arm64 steps: - name: Print info run: | echo "Job B on $(uname -a)" sw_vers || true whoami pwd - name: Create artifact run: | mkdir -p _work/concurrentB echo "concurrent B" > _work/concurrentB/marker.txt ls -lah _work/concurrentB - name: Simulate long work run: | echo "Sleeping to simulate long task..." sleep 60 inspect-after: name: Inspect after concurrency runs-on: macos-arm64 needs: [long-job-a, long-job-b] steps: - name: List act_runner directory run: | echo "Listing /var/lib/act_runner contents" sudo ls -lah /var/lib/act_runner || true - name: Find _work directories and sizes run: | sudo find /var/lib/act_runner -type d -name '_work' -print -exec sudo du -sh {} + || true - name: Fail if artifacts left run: | echo "Checking for marker files" sudo find /var/lib/act_runner -type f -name 'marker.txt' -print # Do not fail intentionally; user can inspect results and choose cleanup