Skip to content

feat: sora support #267

feat: sora support

feat: sora support #267

name: Release OpenAPI MCP
on:
push:
branches:
- "**"
tags:
- "v*.*.*"
paths-ignore:
- "**/*.md"
- "**/*.yaml"
pull_request:
branches:
- "**"
paths-ignore:
- "**/*.md"
- "**/*.yaml"
jobs:
release-openapi-mcp:
name: Release OpenAPI MCP
runs-on: ubuntu-24.04
permissions:
contents: write
strategy:
fail-fast: false
matrix:
targets:
- GOOS: linux
GOARCH: arm64
- GOOS: linux
GOARCH: amd64
- GOOS: darwin
GOARCH: arm64
- GOOS: darwin
GOARCH: amd64
- GOOS: windows
GOARCH: amd64
EXT: .exe
- GOOS: windows
GOARCH: arm64
EXT: .exe
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: "openapi-mcp/go.mod"
- name: Build
working-directory: openapi-mcp
run: |
export GOOS=${{ matrix.targets.GOOS }}
export GOARCH=${{ matrix.targets.GOARCH }}
go build -trimpath -tags "jsoniter" -ldflags "-s -w" -o openapi-mcp-${{ matrix.targets.GOOS }}-${{ matrix.targets.GOARCH }}${{ matrix.targets.EXT }}
- name: Get release meta
if: ${{ startsWith(github.ref, 'refs/tags/') }}
id: release_meta
run: |
version=${GITHUB_REF/refs\/tags\/v/}
echo "version: ${version}"
prerelease=$(echo ${version} | grep -E 'rc|beta|alpha' || true)
release_name="Version ${version}"
echo "release_name: ${release_name}"
if [ -n "${prerelease}" ]; then
prerelease=true
release_name="${release_name} (Prerelease)"
fi
tag_name="v${version}"
echo "prerelease: ${prerelease}"
echo "tag_name: ${tag_name}"
echo "PRERELEASE=${prerelease}" >> $GITHUB_OUTPUT
echo "RELEASE_NAME=${release_name}" >> $GITHUB_OUTPUT
echo "TAG_NAME=${tag_name}" >> $GITHUB_OUTPUT
- name: Release
uses: softprops/action-gh-release@v2
if: ${{ startsWith(github.ref, 'refs/tags/') }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
draft: false
prerelease: ${{ steps.release_meta.outputs.PRERELEASE }}
append_body: false
fail_on_unmatched_files: true
name: ${{ steps.release_meta.outputs.RELEASE_NAME }}
tag_name: ${{ steps.release_meta.outputs.TAG_NAME }}
files: |
openapi-mcp/openapi-mcp-${{ matrix.targets.GOOS }}-${{ matrix.targets.GOARCH }}${{ matrix.targets.EXT }}