Skip to content

handle openrouter rankings time series #165

handle openrouter rankings time series

handle openrouter rankings time series #165

Workflow file for this run

name: CI
on:
push:
branches: [main]
paths-ignore:
- '**.md'
- 'docs/**'
pull_request:
branches: [main]
paths-ignore:
- '**.md'
- 'docs/**'
workflow_dispatch:
jobs:
build:
name: Build & Vet
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Test
run: go test -race -count=1 ./...
- name: Build
run: CGO_ENABLED=0 go build ./...
- name: Vet
run: CGO_ENABLED=0 go vet ./...
check-bridge:
name: Check Bridge Changes
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
outputs:
changed: ${{ steps.filter.outputs.bridge }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
bridge:
- 'bridge/**'
bridge:
name: Build Claude Bridge
needs: [build, check-bridge]
runs-on: ubuntu-latest
if: needs.check-bridge.outputs.changed == 'true' || github.event_name == 'workflow_dispatch'
strategy:
matrix:
include:
- goos: linux
goarch: amd64
- goos: linux
goarch: arm64
- goos: darwin
goarch: arm64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Build bridge
run: |
cd bridge
CGO_ENABLED=0 GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \
go build -ldflags="-s -w" -o claude-bridge-${{ matrix.goos }}-${{ matrix.goarch }} .
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: claude-bridge-${{ matrix.goos }}-${{ matrix.goarch }}
path: bridge/claude-bridge-${{ matrix.goos }}-${{ matrix.goarch }}
docker:
name: Docker Build & Push
needs: build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/${{ github.repository_owner }}/personal-assistant
tags: |
type=raw,value=latest
type=sha,prefix=,format=short
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
release-bridge:
name: Release Bridge Binaries
needs: bridge
runs-on: ubuntu-latest
if: always() && needs.bridge.result == 'success'
permissions:
contents: write
steps:
- uses: actions/download-artifact@v4
with:
pattern: claude-bridge-*
merge-multiple: true
- name: Update rolling release
uses: softprops/action-gh-release@v2
with:
tag_name: latest
name: Latest Build
prerelease: true
files: claude-bridge-*
body: |
Auto-built from `main` branch.
Download the bridge binary for your platform:
- `claude-bridge-linux-amd64` — Linux x86_64 (VPS, servers)
- `claude-bridge-linux-arm64` — Linux ARM64 (Raspberry Pi, ARM servers)
- `claude-bridge-darwin-arm64` — macOS Apple Silicon