Diffinery

codician/diffinerypublic

Open-source, agent-first GitHub and GitHub Actions alternative that runs on your own Cloudflare account: git hosting, pull requests, code review and drop-in GitHub Actions YAML on Workers, Durable Objects, R2 and Containers.

1 file changed+5−2
modified.github/workflows/e2e.yml+5−2View file
@@ -65,7 +65,8 @@
6565 # Shards of similar length; a new test file runs in "rest" unless it's added to another.
6666 core='/e2e\.test\.mjs$'
6767 agents='/(agentic|review|tasks)\.test\.mjs$'
68- security='/(security|status)\.test\.mjs$'
68+ # security.test.mjs, security-*.test.mjs (security-txt's too) and status.test.mjs.
69+ security='/(security(-[a-z-]+)?|status)\.test\.mjs$'
6970 # The core file's real histories and large pushes take minutes each (jquery's alone 2 to 3 on
7071 # Diffinery's runners): two shards of their own, so no part of the file runs into node's
7172 # per-file timeout, which is the --test-timeout here.
@@ -81,7 +82,9 @@
8182 *) files=$(ls test/e2e/*.test.mjs | grep -vE "$core|$agents|$security") ;;
8283 esac
8384 echo "$files"
84- node --test --test-concurrency=1 "${opts[@]}" $files
85+ # Two files at a time: each starts its own local server on its own port, database and
86+ # directory, so they don't share state, and a file's server mostly keeps one core busy.
87+ node --test --test-concurrency=2 "${opts[@]}" $files
8588
8689 # Docker as the hosted runner image runs it, with this change's docker wrapper, daemon config
8790 # and agent (its registry relay): this job runs on a hosted runner, so the real dockerd is there.