Skip to content

chore: bump version to 1.1.26 #66

chore: bump version to 1.1.26

chore: bump version to 1.1.26 #66

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
draft:
description: "Create as draft release"
required: false
default: true
type: boolean
permissions: write-all
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: short
CARGO_TERM_COLOR: always
jobs:
create-release:
runs-on: ubuntu-latest
outputs:
release-id: ${{ steps.create-release.outputs.release_id }}
upload-url: ${{ steps.create-release.outputs.upload_url }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Create Release
id: create-release
uses: actions/github-script@v7
with:
script: |
const { data } = await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: '${{ github.ref_name }}',
target_commitish: '${{ github.sha }}',
name: 'ChatSpeed ${{ github.ref_name }}',
body: 'See the assets below to download and install this version.',
draft: true,
prerelease: ${{ contains(github.ref_name, '-') }}
});
core.setOutput('release_id', data.id);
core.setOutput('upload_url', data.upload_url);
release-windows:
needs: create-release
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
target: x86_64-pc-windows-msvc
- os: windows-latest
target: aarch64-pc-windows-msvc
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Stable
uses: dtolnay/rust-toolchain@stable
- name: Add Rust Target
run: rustup target add ${{ matrix.target }}
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.target }}-
${{ runner.os }}-cargo-
- name: Cache vcpkg
uses: actions/cache@v4
with:
path: |
vcpkg_installed
${{ env.VCPKG_INSTALLATION_ROOT }}
key: ${{ runner.os }}-vcpkg-${{ matrix.target }}-${{ hashFiles('**/vcpkg.json') }}
restore-keys: |
${{ runner.os }}-vcpkg-${{ matrix.target }}-
${{ runner.os }}-vcpkg-
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "${{ runner.os }}-rust-${{ matrix.target }}"
workspaces: src-tauri
cache-targets: false
cache-on-failure: true
- name: Setup vcpkg env
shell: pwsh
run: |
# Set vcpkg root directory
# $VCPKG_ROOT = "$env:VCPKG_INSTALLATION_ROOT"
# echo "VCPKG_ROOT=$VCPKG_ROOT" >> $env:GITHUB_ENV
# Set target architecture variables
if ("${{ matrix.target }}" -eq "x86_64-pc-windows-msvc") {
echo "VCPKG_DEFAULT_TRIPLET=x64-windows-static" >> $env:GITHUB_ENV
echo "CARGO_CFG_TARGET_ARCH=x86_64" >> $env:GITHUB_ENV
} else {
echo "VCPKG_DEFAULT_TRIPLET=arm64-windows-static" >> $env:GITHUB_ENV
echo "CARGO_CFG_TARGET_ARCH=aarch64" >> $env:GITHUB_ENV
}
# Set common vcpkg variables for manifest mode
echo "VCPKG_INSTALLED_DIR=$PWD/vcpkg_installed" >> $env:GITHUB_ENV
echo "VCPKG_CRT_LINKAGE=static" >> $env:GITHUB_ENV
echo "VCPKG_LIBRARY_LINKAGE=static" >> $env:GITHUB_ENV
- name: Install dependencies (windows)
shell: pwsh
run: |
# Set dependency paths
if ("${{ matrix.target }}" -eq "x86_64-pc-windows-msvc") {
$TRIPLET = "x64-windows-static"
} else {
$TRIPLET = "arm64-windows-static"
}
# Use manifest mode - vcpkg install without package names
Write-Host "Installing dependencies using manifest mode for triplet: $TRIPLET"
vcpkg install
# Set library directory variables (using project vcpkg_installed)
$SQLITE3_LIB_DIR = "vcpkg_installed/$TRIPLET/lib"
$SQLITE3_INCLUDE_DIR = "vcpkg_installed/$TRIPLET/include"
echo "SQLITE3_LIB_DIR=$SQLITE3_LIB_DIR" >> $env:GITHUB_ENV
echo "SQLITE3_INCLUDE_DIR=$SQLITE3_INCLUDE_DIR" >> $env:GITHUB_ENV
# echo "VCPKG_INSTALLED_DIR=$PWD/vcpkg_installed" >> $env:GITHUB_ENV
# Verification is now handled by the build.rs script, which will panic if paths are not found.
- name: Setup Rust env
shell: pwsh
run: |
# Set Rust environment variables
echo "RUSTFLAGS=-Ctarget-feature=+crt-static" >> $env:GITHUB_ENV
echo "RUST_BACKTRACE=1" >> $env:GITHUB_ENV
# Set vcpkg integration environment variables
# echo "VCPKGRS_DYNAMIC=0" >> $env:GITHUB_ENV
# echo "VCPKGRS_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET" >> $env:GITHUB_ENV
- name: Install Node and Cache Yarn Dependencies
uses: actions/setup-node@v4
with:
node-version: "22"
cache: 'yarn'
- name: Enable Corepack
run: corepack enable
- name: Yarn install
run: yarn install --immutable
- name: Build Frontend
run: yarn build
- name: Tauri build
uses: tauri-apps/tauri-action@v0.5.22
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
with:
releaseId: ${{ needs.create-release.outputs.release-id }}
args: --target ${{ matrix.target }} --bundles nsis
includeUpdaterJson: true
release-macos:
needs: create-release
strategy:
fail-fast: false
matrix:
include:
- os: macos-15
target: aarch64-apple-darwin
- os: macos-15
target: x86_64-apple-darwin
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Stable
uses: dtolnay/rust-toolchain@stable
- name: Add Rust Target
run: rustup target add ${{ matrix.target }}
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.target }}-
${{ runner.os }}-cargo-
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "${{ runner.os }}-rust-${{ matrix.target }}"
workspaces: src-tauri
cache-targets: false
cache-on-failure: true
- name: Install dependencies (macOS)
run: |
brew list sqlite3 || brew install sqlite3
if ! brew list bzip2 &>/dev/null;
then
brew install bzip2 || echo "bzip2 installation failed, but may already be available system-wide"
fi
echo "SQLITE3_DIR=$(brew --prefix sqlite3)" >> $GITHUB_ENV
BZIP2_PREFIX=$(brew --prefix bzip2 2>/dev/null || echo "/usr/local")
echo "LDFLAGS=-L$(brew --prefix sqlite3)/lib -L$BZIP2_PREFIX/lib" >> $GITHUB_ENV
echo "CPPFLAGS=-I$(brew --prefix sqlite3)/include -I$BZIP2_PREFIX/include" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=$(brew --prefix sqlite3)/lib/pkgconfig:$BZIP2_PREFIX/lib/pkgconfig" >> $GITHUB_ENV
- name: Install Node and Cache Yarn Dependencies
uses: actions/setup-node@v4
with:
node-version: "22"
cache: 'yarn'
- name: Enable Corepack
run: corepack enable
- name: Yarn install
run: yarn install --immutable
- name: Build Frontend
run: yarn build
- name: Tauri build
uses: tauri-apps/tauri-action@v0.5.22
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
# Apple signing - commented out until we have developer certificates
# APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
# APPLE_ID: ${{ secrets.APPLE_ID }}
# APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
# APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
with:
releaseId: ${{ needs.create-release.outputs.release-id }}
args: --target ${{ matrix.target }}
includeUpdaterJson: true
release-linux:
needs: create-release
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
target: x86_64-unknown-linux-gnu
arch: x86_64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Stable
uses: dtolnay/rust-toolchain@stable
- name: Add Rust Target
run: rustup target add ${{ matrix.target }}
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.target }}-
${{ runner.os }}-cargo-
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: "${{ runner.os }}-rust-${{ matrix.target }}"
workspaces: src-tauri
cache-targets: false
cache-on-failure: true
- name: Install dependencies (ubuntu only)
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf \
sqlite3 \
libsqlite3-dev \
rpm
- name: Install Node and Cache Yarn Dependencies
uses: actions/setup-node@v4
with:
node-version: "22"
cache: 'yarn'
- name: Enable Corepack
run: corepack enable
- name: Yarn install
run: yarn install --immutable
- name: Build Frontend
run: yarn build
- name: Tauri build
uses: tauri-apps/tauri-action@v0.5.22
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
with:
releaseId: ${{ needs.create-release.outputs.release-id }}
args: --verbose --target ${{ matrix.target }} --bundles deb,rpm,appimage
includeUpdaterJson: true