mirror of
https://github.com/0xMassi/webclaw.git
synced 2026-04-25 00:06:21 +02:00
fix(ci): release workflow must include webclaw-server
v0.4.0 shipped tarballs without the new webclaw-server binary because the release workflow predates that binary and was hardcoded for two: - Package step used `cp ... 2>/dev/null || true`, so a missing binary was silently skipped instead of failing the job. - Docker job's download step copied only webclaw + webclaw-mcp into the build context, so Dockerfile.ci's COPY webclaw-server step then died with 'file not found'. - Homebrew formula's install block only covered the same two, so brew users would have gotten a release with a missing binary. Three changes: 1. Package step now explicitly copies all three binaries and drops the swallow-all-errors pattern. If a future binary gets renamed or removed this step screams instead of silently publishing half a release. 2. Docker Download step copies webclaw-server alongside the other binaries into the build context. 3. Homebrew formula installs webclaw-server too. v0.4.0 tag + GitHub Release will be deleted and re-pushed on top of this commit so the canonical v0.4.0 artifacts are complete. No users affected — download count was 0 on every broken asset.
This commit is contained in:
parent
eff914e84f
commit
ccdb6d364b
1 changed files with 10 additions and 2 deletions
12
.github/workflows/release.yml
vendored
12
.github/workflows/release.yml
vendored
|
|
@ -66,8 +66,14 @@ jobs:
|
||||||
tag="${GITHUB_REF#refs/tags/}"
|
tag="${GITHUB_REF#refs/tags/}"
|
||||||
staging="webclaw-${tag}-${{ matrix.target }}"
|
staging="webclaw-${tag}-${{ matrix.target }}"
|
||||||
mkdir "$staging"
|
mkdir "$staging"
|
||||||
cp target/${{ matrix.target }}/release/webclaw "$staging/" 2>/dev/null || true
|
# Fail loud if any binary is missing. A silent `|| true` on the
|
||||||
cp target/${{ matrix.target }}/release/webclaw-mcp "$staging/" 2>/dev/null || true
|
# copy was how v0.4.0 shipped tarballs that lacked webclaw-server —
|
||||||
|
# don't repeat that mistake. If a future binary gets renamed or
|
||||||
|
# removed, this step should scream, not quietly publish an
|
||||||
|
# incomplete release.
|
||||||
|
cp target/${{ matrix.target }}/release/webclaw "$staging/"
|
||||||
|
cp target/${{ matrix.target }}/release/webclaw-mcp "$staging/"
|
||||||
|
cp target/${{ matrix.target }}/release/webclaw-server "$staging/"
|
||||||
cp README.md LICENSE "$staging/"
|
cp README.md LICENSE "$staging/"
|
||||||
tar czf "$staging.tar.gz" "$staging"
|
tar czf "$staging.tar.gz" "$staging"
|
||||||
echo "ASSET=$staging.tar.gz" >> $GITHUB_ENV
|
echo "ASSET=$staging.tar.gz" >> $GITHUB_ENV
|
||||||
|
|
@ -134,6 +140,7 @@ jobs:
|
||||||
mkdir -p "binaries-${target}"
|
mkdir -p "binaries-${target}"
|
||||||
cp "${dir}/webclaw" "binaries-${target}/webclaw"
|
cp "${dir}/webclaw" "binaries-${target}/webclaw"
|
||||||
cp "${dir}/webclaw-mcp" "binaries-${target}/webclaw-mcp"
|
cp "${dir}/webclaw-mcp" "binaries-${target}/webclaw-mcp"
|
||||||
|
cp "${dir}/webclaw-server" "binaries-${target}/webclaw-server"
|
||||||
chmod +x "binaries-${target}"/*
|
chmod +x "binaries-${target}"/*
|
||||||
done
|
done
|
||||||
ls -laR binaries-*/
|
ls -laR binaries-*/
|
||||||
|
|
@ -220,6 +227,7 @@ jobs:
|
||||||
def install
|
def install
|
||||||
bin.install "webclaw"
|
bin.install "webclaw"
|
||||||
bin.install "webclaw-mcp"
|
bin.install "webclaw-mcp"
|
||||||
|
bin.install "webclaw-server"
|
||||||
end
|
end
|
||||||
|
|
||||||
test do
|
test do
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue