Skip to content

release: bump version to 0.3.0 (renaming v0.3.1 to v0.3.0) #11

release: bump version to 0.3.0 (renaming v0.3.1 to v0.3.0)

release: bump version to 0.3.0 (renaming v0.3.1 to v0.3.0) #11

Workflow file for this run

name: Release
on:
push:
tags: [ "v*" ]
permissions:
contents: write
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
build-core:
strategy:
matrix:
include:
- os: windows-latest
target: x86_64-pc-windows-msvc
artifact: agent-session-tui.exe
archive_ext: zip
- os: windows-latest
target: aarch64-pc-windows-msvc
artifact: agent-session-tui.exe
archive_ext: zip
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
artifact: agent-session-tui
archive_ext: tar.gz
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
artifact: agent-session-tui
archive_ext: tar.gz
- os: macos-latest
target: x86_64-apple-darwin
artifact: agent-session-tui
archive_ext: tar.gz
- os: macos-latest
target: aarch64-apple-darwin
artifact: agent-session-tui
archive_ext: tar.gz
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install MSVC toolchain (Windows x64)
if: runner.os == 'Windows' && matrix.target == 'x86_64-pc-windows-msvc'
run: rustup default stable-x86_64-pc-windows-msvc
- name: Install cross-compiler (Linux arm64)
if: matrix.target == 'aarch64-unknown-linux-gnu' && matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y gcc-aarch64-linux-gnu
echo '[target.aarch64-unknown-linux-gnu]' >> ~/.cargo/config.toml
echo 'linker = "aarch64-linux-gnu-gcc"' >> ~/.cargo/config.toml
- name: Install Rust target
run: rustup target add ${{ matrix.target }}
- name: Build release
run: cargo build --release --target ${{ matrix.target }}
- name: Package
shell: bash
run: |
mkdir dist
cp target/${{ matrix.target }}/release/${{ matrix.artifact }} dist/
cp -r providers dist/
cp -r prompts dist/
python3 scripts/generate_config.py ${{ matrix.target }} config.toml.template dist/config.toml.example
cp README.md dist/
cp LICENSE dist/
if [ "${{ runner.os }}" != "Windows" ]; then
chmod +x dist/${{ matrix.artifact }}
fi
- name: Create archive (zip)
if: endsWith(matrix.archive_ext, 'zip')
run: Compress-Archive -Path dist/* -DestinationPath agent-session-tui-${{ matrix.target }}.zip
- name: Create archive (tar.gz)
if: endsWith(matrix.archive_ext, 'tar.gz')
run: tar -czf agent-session-tui-${{ matrix.target }}.tar.gz -C dist .
- name: Upload artifact
uses: actions/upload-artifact@v5
with:
name: core-${{ matrix.target }}
path: agent-session-tui-${{ matrix.target }}.*
build-semantic:
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
target: x86_64-pc-windows-msvc
core_artifact: agent-session-tui.exe
dll_artifact: semantic_search_plugin.dll
archive_ext: zip
- os: windows-11-arm
target: aarch64-pc-windows-msvc
core_artifact: agent-session-tui.exe
dll_artifact: semantic_search_plugin.dll
archive_ext: zip
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
core_artifact: agent-session-tui
dll_artifact: libsemantic_search_plugin.so
archive_ext: tar.gz
- os: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
core_artifact: agent-session-tui
dll_artifact: libsemantic_search_plugin.so
archive_ext: tar.gz
- os: macos-latest
target: aarch64-apple-darwin
core_artifact: agent-session-tui
dll_artifact: libsemantic_search_plugin.dylib
archive_ext: tar.gz
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install MSVC toolchain (Windows x64)
if: matrix.target == 'x86_64-pc-windows-msvc'
run: rustup default stable-x86_64-pc-windows-msvc
- name: Install Rust target
run: rustup target add ${{ matrix.target }}
- name: Build core
run: cargo build --release --target ${{ matrix.target }}
- name: Build semantic plugin
working-directory: semantic-plugin
run: cargo build --release --target ${{ matrix.target }}
- name: Package
shell: bash
run: |
mkdir dist
cp target/${{ matrix.target }}/release/${{ matrix.core_artifact }} dist/
cp semantic-plugin/target/${{ matrix.target }}/release/${{ matrix.dll_artifact }} dist/
cp -r providers dist/
cp -r prompts dist/
python3 scripts/generate_config.py ${{ matrix.target }} config.toml.template dist/config.toml.example
cp README.md dist/
cp LICENSE dist/
if [ "${{ runner.os }}" != "Windows" ]; then
chmod +x dist/${{ matrix.core_artifact }}
fi
- name: Create archive (zip)
if: endsWith(matrix.archive_ext, 'zip')
run: Compress-Archive -Path dist/* -DestinationPath agent-session-tui-${{ matrix.target }}-semantic.zip
- name: Create archive (tar.gz)
if: endsWith(matrix.archive_ext, 'tar.gz')
run: tar -czf agent-session-tui-${{ matrix.target }}-semantic.tar.gz -C dist .
- name: Upload artifact
uses: actions/upload-artifact@v5
with:
name: semantic-${{ matrix.target }}
path: agent-session-tui-${{ matrix.target }}-semantic.*
release:
needs: [build-core, build-semantic]
runs-on: ubuntu-latest
steps:
- name: Download all artifacts
uses: actions/download-artifact@v5
with:
path: artifacts
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: artifacts/**/*