From cba803479e843415179590efac50b0cfe3c63320 Mon Sep 17 00:00:00 2001 From: Aditya Garg Date: Tue, 16 Sep 2025 11:38:55 +0530 Subject: [PATCH 1/2] Added Numerix Release --- .github/workflows/release-numerix.yml | 152 ++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 .github/workflows/release-numerix.yml diff --git a/.github/workflows/release-numerix.yml b/.github/workflows/release-numerix.yml new file mode 100644 index 00000000..9441a756 --- /dev/null +++ b/.github/workflows/release-numerix.yml @@ -0,0 +1,152 @@ +name: Release Numerix + +on: + workflow_dispatch: + inputs: + version: + description: 'Version to release (e.g., v0.1.20 or v0.1.20-beta.1)' + required: true + type: string + is_beta: + description: 'Is this a beta release?' + required: false + type: boolean + default: false + is_alpha: + description: 'Is this an alpha release?' + required: false + type: boolean + default: false + branch: + description: 'Branch to release from' + required: true + type: string + default: 'main' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/numerix + +jobs: + release: + runs-on: ubuntu-latest + permissions: + contents: write + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ inputs.branch }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.IMAGE_NAME }} + tags: | + type=raw,value=${{ inputs.version }} + type=raw,value=latest,enable=${{ !inputs.is_beta && !inputs.is_alpha }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: ./numerix + file: ./numerix/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + + - name: Create GitHub Release (Production) + if: ${{ !inputs.is_beta && !inputs.is_alpha }} + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: numerix/${{ inputs.version }} + release_name: Numerix ${{ inputs.version }} + body: | + ## Numerix Release ${{ inputs.version }} + + ### Docker Image + - `${{ env.IMAGE_NAME }}:${{ inputs.version }}` + - `${{ env.IMAGE_NAME }}:latest` + + ### Features + - High-performance matrix operations service + - Built with Rust for optimal performance + - gRPC and HTTP API support + - Protocol Buffers for efficient data transfer + + ### Changes + Please see the commit history for detailed changes. + draft: false + prerelease: false + + - name: Create GitHub Release (Beta) + if: ${{ inputs.is_beta }} + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: numerix/${{ inputs.version }} + release_name: Numerix ${{ inputs.version }} (Beta) + body: | + ## Numerix Beta Release ${{ inputs.version }} + + ⚠️ **This is a beta release from the develop branch** - Use for testing purposes only. + + ### Docker Image + - `${{ env.IMAGE_NAME }}:${{ inputs.version }}` + + ### Features + - High-performance matrix operations service + - Built with Rust for optimal performance + - gRPC API support + - Protocol Buffers for efficient data transfer + + ### Changes + Please see the commit history for detailed changes. + draft: false + prerelease: true + + - name: Create GitHub Release (Alpha) + if: ${{ inputs.is_alpha }} + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: numerix/${{ inputs.version }} + release_name: Numerix ${{ inputs.version }} (Alpha) + body: | + ## Numerix Alpha Release ${{ inputs.version }} + + ⚠️ **This is an alpha release from a feature/fix branch** - Experimental build for development and testing. + + ### Docker Image + - `${{ env.IMAGE_NAME }}:${{ inputs.version }}` + + ### Features + - High-performance matrix operations service + - Built with Rust for optimal performance + - gRPC and HTTP API support + - Protocol Buffers for efficient data transfer + + ### Changes + Please see the commit history for detailed changes. + draft: false + prerelease: true \ No newline at end of file From a3c67eb3d18e2b0651483f43f016c2e845a999de Mon Sep 17 00:00:00 2001 From: Gazal Arora Date: Sat, 27 Sep 2025 08:37:24 +0530 Subject: [PATCH 2/2] fix: header incompatibility for gRPC --- online-feature-store/internal/server/grpc/middleware.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/online-feature-store/internal/server/grpc/middleware.go b/online-feature-store/internal/server/grpc/middleware.go index d805bc3b..2148d394 100644 --- a/online-feature-store/internal/server/grpc/middleware.go +++ b/online-feature-store/internal/server/grpc/middleware.go @@ -15,9 +15,9 @@ import ( ) const ( - AuthToken = "AUTH_TOKEN" - callerIdHeader = "online-feature-store-caller-id" - AuthTokenHeader = "online-feature-store-auth-token" + AuthToken = "auth_token" + callerIdHeader = "online_feature_store_caller_id" + AuthTokenHeader = "online_feature_store_auth_token" ) func ServerInterceptor(ctx context.Context, req any, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp any, err error) {