Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
2b0dac5
feat(sdks-go): add sigil probe for grpc/http path checks (#193)
cyriltovena Mar 3, 2026
d85042d
feat(sdks-go): add basic auth mode to exporter
svennergr Mar 3, 2026
0cdb380
Revert "feat(sdks-go): add basic auth mode to exporter"
svennergr Mar 3, 2026
e2ccc60
feat(sdks-go): add basic auth mode to exporter (#197)
svennergr Mar 3, 2026
3298810
fix(sdks-go): merge BasicUser and BasicPassword in auth config (#198)
svennergr Mar 3, 2026
d41e196
drilldown from traces into spans (#194)
matryer Mar 3, 2026
7920cfa
fix(deps): update module google.golang.org/genai to v1.48.0 (#178)
renovate-sh-app[bot] Mar 3, 2026
75d4229
fix(deps): update protobuf monorepo (#179)
renovate-sh-app[bot] Mar 3, 2026
3540cee
fix(deps): update dependency com.openai:openai-java to v4.23.0 (#176)
renovate-sh-app[bot] Mar 3, 2026
3d24827
fix(deps): update dependency com.google.genai:google-genai to v1.41.0…
renovate-sh-app[bot] Mar 3, 2026
5406081
fix(deps): update dependency @google/adk to ^0.4.0 (#171)
renovate-sh-app[bot] Mar 3, 2026
92fe0d8
Conversations2 (#213)
matryer Mar 3, 2026
b4f75b2
Dashboard specialized tabs (#219)
ivanahuckova Mar 3, 2026
d9bebae
chore(deps): update dependency openai to 2.9.0 (#202)
renovate-sh-app[bot] Mar 3, 2026
aeff691
chore: support h2 next protos (#228)
svennergr Mar 4, 2026
e2e54c7
feat: TreeView (#229)
cyriltovena Mar 4, 2026
5a0e934
chore(deps): update dependency @types/node to v24 (#236)
renovate-sh-app[bot] Mar 4, 2026
e538817
feat(go): track deferred tools in sdk ingest and agent version hashin…
cyriltovena Mar 4, 2026
d20f032
feat: add conversation title attribute across SDK, query, and plugin …
cyriltovena Mar 4, 2026
cda68bb
feat(conversations): add user name to conversation search and detail …
cyriltovena Mar 5, 2026
1fd679d
feat(go-sdk): preserve tool search variant provider types (#309)
cyriltovena Mar 5, 2026
f45fbbe
feat(plugin): show sigil conversation titles in explore header (#287)
cyriltovena Mar 5, 2026
9a337f1
fix: restore conversation titles from storage metadata (#345)
cyriltovena Mar 6, 2026
d9c5c1d
fix(deps): update opentelemetry-go monorepo to v1.41.0 (#306)
renovate-sh-app[bot] Mar 6, 2026
eda0668
chore(deps): update dependency openai to 2.9.1 (#315)
renovate-sh-app[bot] Mar 6, 2026
441ae8a
fix(deps): update opentelemetry-js monorepo (#353)
renovate-sh-app[bot] Mar 7, 2026
56e6972
feat(eval): update llm judge prompt context (#361)
alexsniffin Mar 8, 2026
6e5cf36
fix(deps): update dependency com.google.genai:google-genai to v1.42.0…
renovate-sh-app[bot] Mar 9, 2026
2998dc6
chore(deps): update dependency google.genai to 1.3.0 (#363)
renovate-sh-app[bot] Mar 9, 2026
2b9d259
fix(deps): update module google.golang.org/genai to v1.49.0 (#360)
renovate-sh-app[bot] Mar 9, 2026
f9e85b2
fix(deps): update dependency com.openai:openai-java to v4.26.0 (#359)
renovate-sh-app[bot] Mar 9, 2026
7d7ec73
chore(deps): update gradle to v9.4.0 (#355)
renovate-sh-app[bot] Mar 9, 2026
7867900
fix(deps): update module google.golang.org/grpc to v1.79.2 (#376)
renovate-sh-app[bot] Mar 9, 2026
a317659
fix(eval): move validation to api layer and align error handling (#393)
alexsniffin Mar 9, 2026
babdb57
chore(deps): update dependency @types/node to ^24.11.0 (#382)
renovate-sh-app[bot] Mar 10, 2026
0dc6a56
fix(deps): update opentelemetry-go monorepo to v1.42.0 (#404)
renovate-sh-app[bot] Mar 10, 2026
620c5d6
fix(deps): update opentelemetry-java monorepo to v1.60.1 (#423)
renovate-sh-app[bot] Mar 11, 2026
b6db977
fix(deps): update dependency com.anthropic:anthropic-java to v2.16.0 …
renovate-sh-app[bot] Mar 11, 2026
6579975
fix(deps): update module github.com/openai/openai-go/v3 to v3.26.0 (#…
renovate-sh-app[bot] Mar 11, 2026
c2dc229
chore(deps): update dependency openai to v6.27.0 (#383)
renovate-sh-app[bot] Mar 11, 2026
5aa9ef5
fix(plugin,sigil): show created dates for global templates and clean …
alexsniffin Mar 11, 2026
3580e06
fix(deps): update dependency @openai/agents to ^0.6.0 (#450)
renovate-sh-app[bot] Mar 12, 2026
084d992
Add initial Go SDK conformance harness slice (#458)
cyriltovena Mar 12, 2026
e99fde3
docs(sdk): publish conformance spec entry point (#459)
cyriltovena Mar 12, 2026
59ca59d
test(go-sdk): add extended conformance scenarios (#460)
cyriltovena Mar 12, 2026
e23610b
Add full Go SDK generation roundtrip conformance coverage
cyriltovena Mar 12, 2026
aa4c378
docs(go-sdk): align conformance baseline docs
cyriltovena Mar 12, 2026
b48614b
Extend Go SDK conformance coverage for streaming and error flows
cyriltovena Mar 12, 2026
9c8481f
docs(conformance): record Go harness verification
cyriltovena Mar 12, 2026
fac5571
GRA-6: add full Go SDK roundtrip conformance scenario
cyriltovena Mar 12, 2026
069480c
Add Go SDK full generation roundtrip conformance scenario
cyriltovena Mar 12, 2026
7a3be98
Add Google ADK adapter conformance coverage
cyriltovena Mar 12, 2026
2f2e5e0
test(go-providers): add Go provider wrapper conformance suites
cyriltovena Mar 12, 2026
c9c3e4d
Codify Anthropic embedding unsupported conformance
cyriltovena Mar 12, 2026
3748899
test(go-providers): add provider conformance suites
cyriltovena Mar 12, 2026
45820bf
Add google-adk Go framework conformance coverage
cyriltovena Mar 12, 2026
d66ddca
Add core conformance suites for the non-Go SDKs
cyriltovena Mar 12, 2026
18a1a44
fix(go): complete tool call support across providers and framework
cyriltovena Mar 12, 2026
1011bd2
Make Google ADK embedding conformance explicit
cyriltovena Mar 12, 2026
6613bb6
fix: preserve SDK tool-result parity and expose embeddings support
cyriltovena Mar 12, 2026
078b1f1
docs: align SDK conformance spec and task wiring
cyriltovena Mar 12, 2026
bbbad29
Define provider-safe ToolResult correlation for Go SDK validation
cyriltovena Mar 12, 2026
335f837
docs: document JS and Python SDK conformance commands
cyriltovena Mar 12, 2026
2b32225
test: add Java and .NET conformance suites
cyriltovena Mar 12, 2026
6a4136e
Add non-Go provider and framework conformance suites
cyriltovena Mar 12, 2026
385cf1a
fix(sdks): stop leaking tool names into gen_ai.request.model metric (…
ivanahuckova Mar 12, 2026
c41c31a
chore(deps): update dependency @opentelemetry/context-async-hooks to …
renovate-sh-app[bot] Mar 12, 2026
8bceef1
fix(google-adk): populate RequestModel and RequestProvider in tool ex…
ivanahuckova Mar 12, 2026
8ae77ac
fix(deps): update dependency @google/adk to ^0.5.0 (#525)
renovate-sh-app[bot] Mar 13, 2026
aa15685
fix(tool-analytics): separate tool labels from request models (#539)
cyriltovena Mar 13, 2026
d1a2219
feat: add opencode plugin (#519)
trevorwhitney Mar 13, 2026
fe64e58
chore(deps): update dotnet monorepo to 10.0.4 (#541)
renovate-sh-app[bot] Mar 14, 2026
2779763
chore(deps): update dependency @types/node to v24 (#544)
renovate-sh-app[bot] Mar 14, 2026
b3880f0
chore(deps): update dependency esbuild to ^0.27.0 (#542)
renovate-sh-app[bot] Mar 14, 2026
9894326
fix(sdks): fall back to Anthropic-style keys in LangChain framework h…
jgordley Mar 15, 2026
5eb6a97
chore(deps): update dotnet monorepo to 10.0.5 (#564)
renovate-sh-app[bot] Mar 16, 2026
99a993c
fix(deps): update dependency @openai/agents to ^0.7.0 (#560)
renovate-sh-app[bot] Mar 16, 2026
68f6b52
fix(deps): update dependency com.anthropic:anthropic-java to v2.16.1 …
renovate-sh-app[bot] Mar 16, 2026
2c9ed7d
chore(deps): update dependency esbuild to ^0.27.0 (#555)
renovate-sh-app[bot] Mar 16, 2026
6839018
chore(deps): update dependency @grafana/scenes to v7.1.6 (#563)
renovate-sh-app[bot] Mar 16, 2026
3ed6b59
Sdk basic auth standard (#540)
cyriltovena Mar 16, 2026
8858014
fix(deps): update module google.golang.org/genai to v1.50.0 (#575)
renovate-sh-app[bot] Mar 17, 2026
5853c64
fix(deps): update dependency com.google.genai:google-genai to v1.43.0…
renovate-sh-app[bot] Mar 17, 2026
14d3a6d
chore(deps): update dependency google.genai to 1.4.0 (#573)
renovate-sh-app[bot] Mar 17, 2026
9f4f266
chore(deps): update dependency esbuild to ^0.27.3 (#570)
renovate-sh-app[bot] Mar 17, 2026
f17743a
chore(deps): update dependency @opencode-ai/sdk to ^1.2.24 (#569)
renovate-sh-app[bot] Mar 17, 2026
18aa4aa
chore(deps): update dependency @opencode-ai/plugin to ^1.2.24 (#568)
renovate-sh-app[bot] Mar 17, 2026
0c96df5
fix(langchain): extract ToolMessage content before passing to base SD…
jgordley Mar 19, 2026
5d84817
fix(deps): update module google.golang.org/grpc to v1.79.3 [security]…
renovate-sh-app[bot] Mar 20, 2026
68fad09
fix(deps): update module github.com/openai/openai-go/v3 to v3.28.0 (#…
renovate-sh-app[bot] Mar 20, 2026
8469fd6
fix(deps): update dependency com.openai:openai-java to v4.28.0 (#583)
renovate-sh-app[bot] Mar 20, 2026
b267883
chore(sdk-python): bump version to 0.1.1
grafana-plugins-platform-bot[bot] Mar 20, 2026
1da108e
fix(deps): update grpc-java monorepo to v1.80.0 (#612)
renovate-sh-app[bot] Mar 21, 2026
e3c8ba5
fix(deps): update dependency com.anthropic:anthropic-java to v2.17.0 …
renovate-sh-app[bot] Mar 21, 2026
16a4ee6
fix(deps): update dependency @anthropic-ai/sdk to ^0.79.0 (#610)
renovate-sh-app[bot] Mar 21, 2026
0583510
chore(deps): update dependency anthropic to 12.9.0 (#609)
renovate-sh-app[bot] Mar 21, 2026
e90b143
chore(deps): update dependency coverlet.collector to 8.0.1 (#605)
renovate-sh-app[bot] Mar 21, 2026
c5f0fee
chore(deps): update dependency google.genai to 1.5.0 (#621)
renovate-sh-app[bot] Mar 22, 2026
e904ebe
fix(deps): update dependency com.google.genai:google-genai to v1.44.0…
renovate-sh-app[bot] Mar 22, 2026
4455e21
fix(deps): update dependency com.openai:openai-java to v4.29.0 (#625)
renovate-sh-app[bot] Mar 22, 2026
5b726c0
fix(deps): update module github.com/anthropics/anthropic-sdk-go to v1…
renovate-sh-app[bot] Mar 22, 2026
8c33928
chore(deps): update gradle to v9.4.1 (#629)
renovate-sh-app[bot] Mar 23, 2026
72446cf
fix(deps): update dependency @anthropic-ai/sdk to ^0.80.0 (#630)
renovate-sh-app[bot] Mar 23, 2026
799b680
fix(deps): update dependency com.anthropic:anthropic-java to v2.18.0 …
renovate-sh-app[bot] Mar 23, 2026
3a18ae1
fix(deps): update module github.com/grafana/sigil/sdks/go to v0.1.1 (…
renovate-sh-app[bot] Mar 23, 2026
a8ccf65
fix(deps): update module github.com/grafana/sigil/sdks/go-providers/g…
renovate-sh-app[bot] Mar 23, 2026
6ce181e
fix(deps): update module github.com/grafana/sigil/sdks/go-providers/a…
renovate-sh-app[bot] Mar 23, 2026
395b521
fix(deps): update module github.com/openai/openai-go/v3 to v3.29.0 (#…
renovate-sh-app[bot] Mar 23, 2026
010802d
fix(deps): update module github.com/grafana/sigil/sdks/go-providers/o…
renovate-sh-app[bot] Mar 23, 2026
8c127e9
fix(deps): update module google.golang.org/genai to v1.51.0 (#648)
renovate-sh-app[bot] Mar 24, 2026
091c4f1
fix(deps): update module github.com/openai/openai-go/v3 to v3.29.0 (#…
renovate-sh-app[bot] Mar 24, 2026
94e9602
fix(deps): update module github.com/grafana/sigil/sdks/go-providers/g…
renovate-sh-app[bot] Mar 24, 2026
5ff50c7
fix(deps): update module github.com/grafana/sigil/sdks/go to v0.1.1 (…
renovate-sh-app[bot] Mar 24, 2026
eb58b44
fix(deps): update module github.com/grafana/sigil/sdks/go-providers/a…
renovate-sh-app[bot] Mar 24, 2026
88bee8c
fix(sdk-python): lowercase gRPC metadata keys to avoid illegal header…
svennergr Mar 24, 2026
ffb49c0
chore(sdk-python): bump version to 0.1.2
grafana-plugins-platform-bot[bot] Mar 24, 2026
3c6df1f
fix(deps): update protobuf monorepo (#661)
renovate-sh-app[bot] Mar 25, 2026
1afdb92
fix(deps): update module github.com/grafana/sigil/sdks/go-providers/g…
renovate-sh-app[bot] Mar 25, 2026
2ba0780
chore(deps): update dependency @opencode-ai/plugin to ^1.3.0 (#673)
renovate-sh-app[bot] Mar 26, 2026
7c4bb3d
fix(deps): update module github.com/grafana/sigil/sdks/go-providers/o…
renovate-sh-app[bot] Mar 26, 2026
a70ae69
fix(deps): update module github.com/grafana/sigil/sdks/go-providers/a…
renovate-sh-app[bot] Mar 26, 2026
dbeae96
fix(deps): update jackson monorepo to v2.21.2 (#654)
renovate-sh-app[bot] Mar 26, 2026
269bb88
fix(deps): update module github.com/grafana/sigil/sdks/go to v0.1.2 (…
renovate-sh-app[bot] Mar 26, 2026
643b377
chore(deps): update dependency @opencode-ai/sdk to ^1.3.2 (#678)
renovate-sh-app[bot] Mar 28, 2026
edfde76
fix(deps): update dependency com.openai:openai-java to v4.29.1 (#684)
renovate-sh-app[bot] Mar 28, 2026
ffb175f
chore(deps): update dependency vitest to ^4.1.0 (#682)
renovate-sh-app[bot] Mar 28, 2026
664f90d
fix(deps): update dependency @openai/agents to ^0.8.0 (#679)
renovate-sh-app[bot] Mar 28, 2026
98a583e
chore(deps): update dependency typescript to v6 (#683)
renovate-sh-app[bot] Mar 28, 2026
6008623
Move SDKs to a separate repo
alexander-akhmetov Apr 1, 2026
f5b9dd4
fix(CI): add pnpm lockfile, pin node version, fix gitignore paths
alexander-akhmetov Apr 1, 2026
9266ae6
fix(ci): resolve build failures in TS, Java, and .NET jobs
alexander-akhmetov Apr 1, 2026
8074365
Update license
alexander-akhmetov Apr 1, 2026
faa9643
Merge pull request #1 from grafana/alexander-akhmetov/fix-ci
alexander-akhmetov Apr 1, 2026
89c7a68
fix(deps): update dependency com.google.genai:google-genai to v1.45.0
renovate-sh-app[bot] Apr 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @grafana/sigil
131 changes: 131 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
name: CI

on:
push:
branches: [main]
pull_request:

permissions:
contents: read

jobs:
go:
name: Go SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
with:
go-version-file: go/go.mod

- name: golangci-lint
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
with:
args: --timeout=5m
working-directory: go

- name: Test core
run: cd go && GOWORK=off go test ./...

- name: Test anthropic provider
run: cd go-providers/anthropic && GOWORK=off go test ./...

- name: Test openai provider
run: cd go-providers/openai && GOWORK=off go test ./...

- name: Test gemini provider
run: cd go-providers/gemini && GOWORK=off go test ./...

- name: Test google-adk framework
run: cd go-frameworks/google-adk && GOWORK=off go test ./...

typescript:
name: TypeScript SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0

- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '24'

- run: pnpm install

- name: Typecheck
run: pnpm --filter @grafana/sigil-sdk-js run typecheck

- name: Test
run: pnpm --filter @grafana/sigil-sdk-js run test:ci

python:
name: Python SDK
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
suite:
- { name: core, cmd: "uv run --with '.[dev]' --directory python pytest tests" }
- { name: openai, cmd: "uv run --with './python[dev]' --with './python-providers/openai[dev]' pytest python-providers/openai/tests" }
- { name: anthropic, cmd: "uv run --with './python[dev]' --with './python-providers/anthropic[dev]' pytest python-providers/anthropic/tests" }
- { name: gemini, cmd: "uv run --with './python[dev]' --with './python-providers/gemini[dev]' pytest python-providers/gemini/tests" }
- { name: langchain, cmd: "uv run --with './python[dev]' --with './python-frameworks/langchain[dev]' pytest python-frameworks/langchain/tests" }
- { name: langgraph, cmd: "uv run --with './python[dev]' --with './python-frameworks/langgraph[dev]' pytest python-frameworks/langgraph/tests" }
- { name: openai-agents, cmd: "uv run --with './python[dev]' --with './python-frameworks/openai-agents[dev]' pytest python-frameworks/openai-agents/tests" }
- { name: llamaindex, cmd: "uv run --with './python[dev]' --with './python-frameworks/llamaindex[dev]' pytest python-frameworks/llamaindex/tests" }
- { name: google-adk, cmd: "uv run --with './python[dev]' --with './python-frameworks/google-adk[dev]' pytest python-frameworks/google-adk/tests" }
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.11'

- name: Install uv
uses: astral-sh/setup-uv@6b9c6063abd6010835644d4c2e1bef4cf5cd0fca # v6.0.1

- name: Test ${{ matrix.suite.name }}
run: ${{ matrix.suite.cmd }}

dotnet:
name: .NET SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with:
dotnet-version: '8.0.x'

- name: Format check
run: dotnet format dotnet/Sigil.DotNet.sln --verify-no-changes

- name: Test
run: dotnet test dotnet/Sigil.DotNet.sln -c Release

java:
name: Java SDK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: '21'

- name: Test
working-directory: java
run: ./gradlew --no-daemon test
59 changes: 59 additions & 0 deletions .github/workflows/dotnet-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Publish .NET SDK to NuGet

on:
workflow_dispatch:
inputs:
version:
description: 'Package version (e.g. 0.2.0)'
required: true
type: string

permissions:
contents: read

jobs:
publish:
if: github.repository == 'grafana/sigil-sdk' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write

steps:
- name: Get secrets from Vault
id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@f1614b210386ac420af6807a997ac7f6d96e477a # get-vault-secrets/v1.3.1
env:
VAULT_INSTANCE: ops
with:
vault_instance: ${{ env.VAULT_INSTANCE }}
common_secrets: |
NUGET_API_KEY=sigil-nuget:api-key
export_env: false

- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
with:
dotnet-version: '8.0.x'

- name: Pack
env:
PKG_VERSION: ${{ inputs.version }}
run: |
dotnet pack dotnet/Sigil.DotNet.sln -c Release \
-p:PackageVersion="${PKG_VERSION}" \
-o nupkgs/

- name: Publish
env:
NUGET_API_KEY: ${{ fromJSON(steps.get-secrets.outputs.secrets).NUGET_API_KEY }}
run: |
for pkg in nupkgs/*.nupkg; do
dotnet nuget push "$pkg" \
--api-key "${NUGET_API_KEY}" \
--source https://api.nuget.org/v3/index.json \
--skip-duplicate
done
67 changes: 67 additions & 0 deletions .github/workflows/go-sdk-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Tag Go SDK modules

on:
workflow_dispatch:
inputs:
version:
description: 'Version to tag (e.g. 0.2.0)'
required: true
type: string

permissions:
contents: write

jobs:
tag:
if: github.repository == 'grafana/sigil-sdk' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest

steps:
- name: Get secrets from Vault
id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@f1614b210386ac420af6807a997ac7f6d96e477a # get-vault-secrets/v1.3.1
env:
VAULT_INSTANCE: ops
with:
vault_instance: ${{ env.VAULT_INSTANCE }}
common_secrets: |
GITHUB_APP_ID=plugins-platform-bot-app:app-id
GITHUB_APP_PRIVATE_KEY=plugins-platform-bot-app:private-key
export_env: false

- name: Generate GitHub token
id: generate-github-token
uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0
with:
app-id: ${{ fromJSON(steps.get-secrets.outputs.secrets).GITHUB_APP_ID }}
private-key: ${{ fromJSON(steps.get-secrets.outputs.secrets).GITHUB_APP_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}

- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
token: ${{ steps.generate-github-token.outputs.token }}
persist-credentials: true

- name: Setup Git
run: |
git config user.name 'grafana-plugins-platform-bot[bot]'
git config user.email '144369747+grafana-plugins-platform-bot[bot]@users.noreply.github.com'

- name: Tag all Go modules
env:
INPUT_VERSION: ${{ inputs.version }}
run: |
VERSION="v${INPUT_VERSION}"
MODULES=(
go
go-providers/anthropic
go-providers/openai
go-providers/gemini
go-frameworks/google-adk
)
for mod in "${MODULES[@]}"; do
TAG="${mod}/${VERSION}"
echo "Tagging ${TAG}"
git tag -a "${TAG}" -m "${mod} ${VERSION}"
done
git push origin --tags
60 changes: 60 additions & 0 deletions .github/workflows/java-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Publish Java SDK to Maven Central

on:
workflow_dispatch:
inputs:
version:
description: 'Package version (e.g. 0.2.0)'
required: true
type: string

permissions:
contents: read

jobs:
publish:
if: github.repository == 'grafana/sigil-sdk' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write

steps:
- name: Get secrets from Vault
id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@f1614b210386ac420af6807a997ac7f6d96e477a # get-vault-secrets/v1.3.1
env:
VAULT_INSTANCE: ops
with:
vault_instance: ${{ env.VAULT_INSTANCE }}
common_secrets: |
MAVEN_USERNAME=sigil-maven:username
MAVEN_PASSWORD=sigil-maven:password
GPG_PRIVATE_KEY=sigil-maven:gpg-private-key
GPG_PASSPHRASE=sigil-maven:gpg-passphrase
export_env: false

- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: '21'

- name: Publish
working-directory: java
env:
PKG_VERSION: ${{ inputs.version }}
OSSRH_USERNAME: ${{ fromJSON(steps.get-secrets.outputs.secrets).MAVEN_USERNAME }}
OSSRH_PASSWORD: ${{ fromJSON(steps.get-secrets.outputs.secrets).MAVEN_PASSWORD }}
SIGNING_KEY: ${{ fromJSON(steps.get-secrets.outputs.secrets).GPG_PRIVATE_KEY }}
SIGNING_PASSWORD: ${{ fromJSON(steps.get-secrets.outputs.secrets).GPG_PASSPHRASE }}
run: |
./gradlew --no-daemon publish \
-Pversion="${PKG_VERSION}" \
-PossrhUsername="${OSSRH_USERNAME}" \
-PossrhPassword="${OSSRH_PASSWORD}" \
-Psigning.key="${SIGNING_KEY}" \
-Psigning.password="${SIGNING_PASSWORD}"
Loading
Loading