From 062f8eaf5a588e2e78ba2fc9dfc04485f1185340 Mon Sep 17 00:00:00 2001 From: whit3rabbit Date: Sun, 12 Jul 2026 08:45:54 -0500 Subject: [PATCH] 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--linux-{x86_64,arm64}.tar.gz and anyllm-proxy--windows-x86_64.zip and uploads them to the release, matching the macOS tarball naming. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/ci.yml | 37 +++++++++++++++++++++++++++++++++++-- CHANGELOG.md | 13 +++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95f7c9e..83c3de8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 00b6e8f..b025eb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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