Skip to content

v0.1.0

v0.1.0 #1

Workflow file for this run

name: Release
on:
release:
types: [published]
jobs:
build:
name: Build and Upload
runs-on: ${{ matrix.os }}
timeout-minutes: 60
permissions:
contents: write
attestations: write
id-token: write
strategy:
matrix:
include:
- os: ubuntu-22.04
target: x86_64-unknown-linux-gnu
asset_name: substrate-mcp-linux-x86_64
- os: macos-latest
target: x86_64-apple-darwin
asset_name: substrate-mcp-macos-x86_64
- os: macos-latest
target: aarch64-apple-darwin
asset_name: substrate-mcp-macos-aarch64
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Build binary
run: cargo build --release --target ${{ matrix.target }}
- name: Create release directory
run: mkdir -p release
- name: Copy binary to release directory
run: cp target/${{ matrix.target }}/release/substrate-mcp release/${{ matrix.asset_name }}
- name: Create tarball
run: |
cd release
tar -czf ${{ matrix.asset_name }}.tar.gz ${{ matrix.asset_name }}
rm ${{ matrix.asset_name }}
- name: Generate build attestation
uses: actions/attest-build-provenance@v1
with:
subject-path: ./release/${{ matrix.asset_name }}.tar.gz
- name: Upload tarball
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./release/${{ matrix.asset_name }}.tar.gz
asset_name: ${{ matrix.asset_name }}.tar.gz
asset_content_type: application/gzip