Skip to content

fix(release): finalize promoted stable releases #482

fix(release): finalize promoted stable releases

fix(release): finalize promoted stable releases #482

name: Architecture Checks
on:
pull_request:
push:
branches: [main]
permissions:
contents: read
jobs:
clippy:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
components: clippy
- name: Cache Rust
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Run Clippy
run: cargo clippy --workspace --all-targets -- -D warnings
boundaries:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
- name: Cache Rust
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Install boundary check dependencies
run: sudo apt-get update && sudo apt-get install -y ripgrep
- name: Run boundary checks
run: ./scripts/check-boundaries.sh
fmt:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
components: rustfmt
- name: Cache Rust
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Check formatting
run: cargo fmt --all -- --check
workspace-tests:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install Linux desktop dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
clang \
pkg-config \
libfontconfig-dev \
libwayland-dev \
libx11-xcb-dev \
libxkbcommon-x11-dev \
libssl-dev \
libzstd-dev \
libasound2-dev \
libvulkan1
- name: Setup Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
- name: Cache Rust
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Setup Bun for plugin runtime tests
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: 1.3.14
- name: Run workspace tests
run: cargo test --workspace --release
tmon-tests:
name: Tmon tests (${{ matrix.os }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- os: macos
runner: macos-latest
- os: linux
runner: ubuntu-24.04
- os: windows
runner: windows-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
- name: Cache Rust
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Run Tmon tests
run: cargo test --locked -p tmon
ffi-tests:
name: FFI tests (${{ matrix.os }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- os: macos
runner: macos-latest
- os: linux
runner: ubuntu-24.04
- os: windows
runner: windows-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
- name: Cache Rust
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Run FFI tests
run: cargo test --locked -p termy_ffi
desktop-platform-check:
name: Desktop platform check (${{ matrix.os }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- os: windows
runner: windows-latest
- os: linux
runner: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install Linux desktop dependencies
if: matrix.os == 'linux'
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
clang \
pkg-config \
libfontconfig-dev \
libwayland-dev \
libx11-xcb-dev \
libxkbcommon-x11-dev \
libssl-dev \
libzstd-dev \
libasound2-dev \
libvulkan1
- name: Setup Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
- name: Cache Rust
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Check desktop platform
shell: bash
run: ./scripts/check-platform-builds.sh --native
tmux-integration:
name: Tmux integration (${{ matrix.os }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- os: macos
runner: macos-latest
- os: linux
runner: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install Linux desktop dependencies
if: matrix.os == 'linux'
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
pkg-config \
libfontconfig-dev \
libwayland-dev \
libx11-xcb-dev \
libxkbcommon-x11-dev \
libssl-dev \
libzstd-dev \
libasound2-dev \
libvulkan1 \
tmux \
just
- name: Setup Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
- name: Cache Rust
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Install macOS tmux + just
if: matrix.os == 'macos'
run: brew install tmux just
- name: Require tmux >= 3.3
shell: bash
run: |
set -euo pipefail
version="$(tmux -V | awk '{print $2}')"
major="${version%%.*}"
minor_part="${version#*.}"
minor_digits="${minor_part%%[^0-9]*}"
if [[ -z "${minor_digits}" ]]; then
minor_digits=0
fi
if (( major < 3 )) || (( major == 3 && minor_digits < 3 )); then
echo "tmux ${version} is below required 3.3" >&2
exit 1
fi
echo "tmux ${version}"
- name: Run tmux integration tests
run: just test-tmux-integration