Skip to content

Build blink binaries from local blink/ module in release - #93

Merged
TomasVotruba merged 1 commit into
mainfrom
blink-build-from-local
Sep 29, 2026
Merged

TomasVotruba merged 1 commit into
mainfrom
blink-build-from-local

Conversation

@TomasVotruba

Copy link
Copy Markdown
Member

Follow-up to #92. The release build shipped the --blink Go binaries by cloning the external TomasVotruba/ecs-go repository, so the ported blink/ module in this repo never reached the deployed ecsphp/ecs. This wires the release to build from blink/ instead.

Changes

  • .github/workflows/buid_release.yaml - step 5b builds bin/blink-<os>-<arch> (6 platforms) from the local blink/ module; the git clone TomasVotruba/ecs-go and the bin/turbo directory are gone. The obsolete bin/turbo is also removed from the deployed repo so stale binaries do not linger.
  • src/Turbo/EcsGoBinaryLocator.php - resolves the bundled bin/blink-<platform>, falls back to vendor/bin/blink and blink on PATH; the not-found message points at the local blink/ build instead of the external repo.
  • bin/blink - execs the bundled bin/blink-<platform> in a release; builds from blink/ on first run only in the source repo.
  • Tests updated for the new binary name and path.

Layout in the deployed repo

bin/
  blink            <- wrapper (composer bin)
  blink-linux-amd64
  blink-linux-arm64
  blink-darwin-amd64
  blink-darwin-arm64
  blink-windows-amd64.exe
  blink-windows-arm64.exe
  ecs
  ecs.php

Local checks pass: PHPStan, Rector, ECS, and the Turbo unit tests. The wrapper builds and runs from blink/ in the source checkout (209 fixers).

The release build now compiles the per-platform blink binaries from the ported
blink/ module instead of cloning the external ecs-go repository, so the shipped
--blink runner reflects the code in this repository.

- release step builds bin/blink-<os>-<arch> from blink/, drops the external clone
- remove the obsolete bin/turbo directory from the deployed repo
- EcsGoBinaryLocator resolves the bundled bin/blink-<platform>
- bin/blink wrapper execs the bundled binary, building from blink/ only in the source repo
@TomasVotruba
TomasVotruba merged commit 9a0172e into main Sep 29, 2026
10 checks passed
@TomasVotruba
TomasVotruba deleted the blink-build-from-local branch September 29, 2026 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant