ci: attach Linux and Windows binary archives to GitHub Releases

build-release already compiles x86_64/aarch64 Linux and x86_64 Windows binaries
but only uploaded them as CI artifacts. The release-assets job now packages them
into anyllm-proxy-<ver>-linux-{x86_64,arm64}.tar.gz and
anyllm-proxy-<ver>-windows-x86_64.zip and uploads them to the release, matching
the macOS tarball naming.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
whit3rabbit
2026-07-12 08:45:54 -05:00
co-authored by Claude Opus 4.8
parent 70ba5ade26
commit 062f8eaf5a
2 changed files with 48 additions and 2 deletions
+35 -2
View File
@@ -215,7 +215,7 @@ jobs:
release-assets:
name: Upload release assets
needs: [create-release]
needs: [create-release, build-release]
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
permissions:
@@ -231,12 +231,45 @@ jobs:
with:
name: anyllm-proxy-deb-arm64
path: ./debs
- name: Upload to GitHub Release
- name: Upload debs to GitHub Release
env:
GH_TOKEN: ${{ github.token }}
run: |
ls -la ./debs/
gh release upload "${{ github.ref_name }}" ./debs/*.deb --repo "${{ github.repository }}" --clobber
# Linux + Windows binaries are built by build-release but only uploaded as
# CI artifacts; package them into release archives (tar.gz / zip) matching
# the macOS tarball naming produced by brew-release.
- name: Download linux x86_64 binary
uses: actions/download-artifact@v8
with:
name: anyllm_proxy-x86_64-unknown-linux-gnu
path: ./bins/linux-x86_64
- name: Download linux arm64 binary
uses: actions/download-artifact@v8
with:
name: anyllm_proxy-aarch64-unknown-linux-gnu
path: ./bins/linux-arm64
- name: Download windows x86_64 binary
uses: actions/download-artifact@v8
with:
name: anyllm_proxy-x86_64-pc-windows-msvc
path: ./bins/windows-x86_64
- name: Package binary archives
run: |
VERSION="${{ github.ref_name }}"
VERSION="${VERSION#v}"
chmod +x ./bins/linux-x86_64/anyllm-proxy ./bins/linux-arm64/anyllm-proxy
mkdir -p dist
tar -czf "dist/anyllm-proxy-${VERSION}-linux-x86_64.tar.gz" -C ./bins/linux-x86_64 anyllm-proxy
tar -czf "dist/anyllm-proxy-${VERSION}-linux-arm64.tar.gz" -C ./bins/linux-arm64 anyllm-proxy
( cd ./bins/windows-x86_64 && zip -q "${GITHUB_WORKSPACE}/dist/anyllm-proxy-${VERSION}-windows-x86_64.zip" anyllm-proxy.exe )
ls -la dist/
- name: Upload binary archives to GitHub Release
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release upload "${{ github.ref_name }}" dist/*.tar.gz dist/*.zip --repo "${{ github.repository }}" --clobber
publish:
name: Publish to crates.io
+13
View File
@@ -10,6 +10,19 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versions follo
## [Unreleased]
### Added
- Release: GitHub Releases now include Linux (`x86_64`, `arm64`) `.tar.gz` and Windows
(`x86_64`) `.zip` binary archives, alongside the existing macOS tarballs and `.deb`
packages. The binaries were already built in CI but never packaged/attached.
### Fixed
- Security: Bedrock native routes (`POST /model/{modelId}/converse`,
`/converse-stream`, `/invoke`, `/invoke-with-response-stream`) now enforce the
virtual key's model allowlist. Previously these handlers skipped the
`is_model_allowed` check that `bedrock_passthrough` and every other
client-facing handler apply, so a model-scoped key could invoke any Bedrock
`modelId` (model-scope bypass / cost-abuse). Found via a keyless 3gate scan.
## [0.13.0] - 2026-07-12
### Fixed