diff --git a/.gitea/workflows/macos-concurrency.yaml b/.gitea/workflows/macos-concurrency.yaml new file mode 100644 index 0000000..45e244e --- /dev/null +++ b/.gitea/workflows/macos-concurrency.yaml @@ -0,0 +1,67 @@ +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