release: bump version to 0.3.0 (renaming v0.3.1 to v0.3.0) #11
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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/**/* |