e0e362d700
Deploy Docs Pages / build (push) Waiting to run
Deploy Docs Pages / deploy (push) Blocked by required conditions
Real E2E Tests / Real E2E CI (push) Blocked by required conditions
SDK Tests / SDK CI (push) Blocked by required conditions
SDK Tests / changes (push) Successful in 2m29s
Real E2E Tests / changes (push) Successful in 2m29s
Real E2E Tests / Python E2E (docker bridge) (push) Waiting to run
Real E2E Tests / C# E2E (docker bridge) (push) Waiting to run
Real E2E Tests / Go E2E (docker bridge) (push) Waiting to run
Real E2E Tests / Java E2E (docker bridge) (push) Waiting to run
Real E2E Tests / JavaScript E2E (docker bridge) (push) Waiting to run
SDK Tests / Python SDK Tests (sandbox) (push) Waiting to run
SDK Tests / CLI Quality (push) Waiting to run
SDK Tests / CLI Tests (push) Waiting to run
SDK Tests / Python SDK Quality (code-interpreter) (push) Waiting to run
SDK Tests / Python SDK Quality (sandbox) (push) Waiting to run
SDK Tests / Python SDK Tests (code-interpreter) (push) Waiting to run
SDK Tests / JavaScript SDK Quality And Tests (code-interpreter) (push) Waiting to run
SDK Tests / JavaScript SDK Quality And Tests (sandbox) (push) Waiting to run
SDK Tests / Kotlin SDK Quality And Tests (sandbox) (push) Waiting to run
SDK Tests / Kotlin SDK Quality And Tests (code-interpreter) (push) Waiting to run
SDK Tests / C# SDK Quality And Tests (code-interpreter) (push) Waiting to run
SDK Tests / C# SDK Quality And Tests (sandbox) (push) Waiting to run
SDK Tests / Go SDK Quality And Tests (push) Waiting to run
89 lines
2.9 KiB
YAML
89 lines
2.9 KiB
YAML
name: Publish C# SDKs
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "csharp/sandbox/v*"
|
|
- "csharp/code-interpreter/v*"
|
|
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
attestations: write
|
|
artifact-metadata: write
|
|
|
|
jobs:
|
|
release-preflight:
|
|
uses: ./.github/workflows/release-preflight.yml
|
|
|
|
publish:
|
|
needs: release-preflight
|
|
name: Publish (${{ matrix.sdk.name }})
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
sdk:
|
|
- name: sandbox
|
|
tagPrefix: sandbox
|
|
csprojPath: sdks/sandbox/csharp/src/OpenSandbox/OpenSandbox.csproj
|
|
- name: code-interpreter
|
|
tagPrefix: code-interpreter
|
|
csprojPath: sdks/code-interpreter/csharp/src/OpenSandbox.CodeInterpreter/OpenSandbox.CodeInterpreter.csproj
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Set up .NET
|
|
uses: actions/setup-dotnet@v5
|
|
with:
|
|
dotnet-version: "10.0.x"
|
|
|
|
- name: Parse package version from tag
|
|
if: startsWith(github.ref, format('refs/tags/csharp/{0}/v', matrix.sdk.tagPrefix))
|
|
shell: bash
|
|
run: |
|
|
VERSION="${GITHUB_REF_NAME#csharp/${{ matrix.sdk.tagPrefix }}/v}"
|
|
echo "PACKAGE_VERSION=$VERSION" >> "$GITHUB_ENV"
|
|
|
|
- name: Restore
|
|
if: startsWith(github.ref, format('refs/tags/csharp/{0}/v', matrix.sdk.tagPrefix))
|
|
run: |
|
|
EXTRA_RESTORE_ARGS=""
|
|
if [ "${{ matrix.sdk.name }}" = "code-interpreter" ]; then
|
|
EXTRA_RESTORE_ARGS="-p:UseLocalOpenSandboxProjectReference=false"
|
|
fi
|
|
dotnet restore "${{ matrix.sdk.csprojPath }}" ${EXTRA_RESTORE_ARGS}
|
|
|
|
- name: Pack
|
|
if: startsWith(github.ref, format('refs/tags/csharp/{0}/v', matrix.sdk.tagPrefix))
|
|
run: |
|
|
EXTRA_PACK_ARGS=""
|
|
if [ "${{ matrix.sdk.name }}" = "code-interpreter" ]; then
|
|
EXTRA_PACK_ARGS="-p:UseLocalOpenSandboxProjectReference=false"
|
|
fi
|
|
dotnet pack "${{ matrix.sdk.csprojPath }}" \
|
|
--configuration Release \
|
|
--no-restore \
|
|
-p:PackageVersion="${PACKAGE_VERSION}" \
|
|
-p:ContinuousIntegrationBuild=true \
|
|
${EXTRA_PACK_ARGS} \
|
|
--output ./artifacts/${{ matrix.sdk.name }}
|
|
|
|
- name: Attest built package
|
|
if: startsWith(github.ref, format('refs/tags/csharp/{0}/v', matrix.sdk.tagPrefix))
|
|
uses: actions/attest@v4
|
|
with:
|
|
subject-path: ./artifacts/${{ matrix.sdk.name }}/*.nupkg
|
|
|
|
- name: Publish to NuGet
|
|
if: startsWith(github.ref, format('refs/tags/csharp/{0}/v', matrix.sdk.tagPrefix))
|
|
env:
|
|
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
|
|
run: |
|
|
dotnet nuget push "./artifacts/${{ matrix.sdk.name }}/*.nupkg" \
|
|
--api-key "$NUGET_API_KEY" \
|
|
--source "https://api.nuget.org/v3/index.json" \
|
|
--skip-duplicate
|