Skip to content

build: corrected release script #1

build: corrected release script

build: corrected release script #1

Workflow file for this run

name: Release
env:
PACKAGE_NAME: "mcp-server-drupal"
TARGET_LIST: "x86_64-unknown-linux-gnu,aarch64-unknown-linux-gnu,x86_64-pc-windows-msvc,x86_64-apple-darwin,aarch64-apple-darwin"
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write
id-token: write
jobs:
build-and-sign:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: "2.x"
- name: Extract version from tag
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- name: Setup cosign
uses: sigstore/[email protected]
- name: Build the binaries
run: |
for target in $(echo $TARGET_LIST | tr "," "\n")
do
arch=$(echo $target | cut -d'-' -f1)
os=$(echo $target | cut -d'-' -f2)
case $arch in
"x86_64") arch_name="x86" ;;
"aarch64") arch_name="arm" ;;
*) arch_name=$arch ;;
esac
case $os in
"apple") os_name="darwin" ;;
"unknown") os_name="linux" ;;
"pc") os_name="windows" ;;
*) os_name=$os ;;
esac
binary_name="${PACKAGE_NAME}_${os_name}_${arch_name}"
deno task build --target=$target --output=./build/$binary_name
done
- name: Sign binaries
run: |
mkdir -p build/bundles
for file in build/*; do
if [[ "$file" == "build/bundles" ]]; then continue; fi
base_name=$(basename "$file" .exe)
cosign sign-blob --bundle "build/bundles/${base_name}.bundle" --yes "$file"
done
cd build/bundles
tar -czf ../signatures.tar.gz *
cd ../..
- name: Release
uses: softprops/action-gh-release@v2
with:
files: |
build/*
name: "MCP Server Drupal: ${{ env.VERSION }}"