Skip to content

Release

Release #2

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
tag:
description: "Release tag, for example v1.2.2"
required: true
release_name:
description: "Release title"
required: false
make_latest:
description: "Mark as latest release"
required: false
default: "true"
permissions:
contents: write
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.inputs.tag || github.ref }}
- name: Set up Java 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
- name: Make Gradle wrapper executable
run: chmod +x ./gradlew
- name: Prepare release metadata
id: meta
shell: bash
run: |
if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
TAG="${{ github.event.inputs.tag }}"
RELEASE_NAME="${{ github.event.inputs.release_name }}"
MAKE_LATEST="${{ github.event.inputs.make_latest }}"
else
TAG="${GITHUB_REF_NAME}"
RELEASE_NAME=""
MAKE_LATEST="true"
fi
if [[ -z "$RELEASE_NAME" ]]; then
RELEASE_NAME="$TAG"
fi
if [[ "$MAKE_LATEST" == "true" ]]; then
LATEST_FLAG="true"
else
LATEST_FLAG="false"
fi
echo "tag=$TAG" >> "$GITHUB_OUTPUT"
echo "release_name=$RELEASE_NAME" >> "$GITHUB_OUTPUT"
echo "make_latest=$LATEST_FLAG" >> "$GITHUB_OUTPUT"
- name: Run tests
run: ./gradlew test
- name: Build distributable JAR
run: ./gradlew embedProxyJar
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.meta.outputs.tag }}
name: ${{ steps.meta.outputs.release_name }}
files: build/libs/burp-mcp-all.jar
generate_release_notes: true
append_body: true
body: |
## 使用方式
1. 在 Burp Suite -> Extensions 中加载 `burp-mcp-all.jar`
2. 在 Burp 的 MCP 面板启用服务
3. 在 MCP 客户端中连接 `http://127.0.0.1:9876/mcp`
推荐使用 Streamable HTTP。
make_latest: ${{ steps.meta.outputs.make_latest }}