Skip to content

Commit 73491bc

Browse files
committed
ci: simplify release to Linux-only + crates.io
- Remove macOS builds (timeout issues on GitHub Actions) - Use --no-verify for faster crates.io publish - macOS users: cargo install or build from source
1 parent 910b611 commit 73491bc

File tree

4 files changed

+25
-72
lines changed

4 files changed

+25
-72
lines changed

.github/workflows/release.yml

Lines changed: 12 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -10,74 +10,39 @@ env:
1010

1111
jobs:
1212
build:
13-
name: Build ${{ matrix.target }}
14-
runs-on: ${{ matrix.os }}
15-
strategy:
16-
fail-fast: false
17-
matrix:
18-
include:
19-
- os: macos-14
20-
target: aarch64-apple-darwin
21-
artifact: scenesplit-macos-arm64
22-
- os: ubuntu-22.04
23-
target: x86_64-unknown-linux-gnu
24-
artifact: scenesplit-linux-x64
13+
name: Build Linux
14+
runs-on: ubuntu-22.04
2515

2616
steps:
2717
- uses: actions/checkout@v4
2818

2919
- name: Install Rust
3020
uses: dtolnay/rust-toolchain@stable
31-
with:
32-
targets: ${{ matrix.target }}
33-
34-
- name: Install dependencies (macOS)
35-
if: runner.os == 'macOS'
36-
run: |
37-
brew install opencv onnxruntime pkg-config llvm
38-
echo "LIBCLANG_PATH=$(brew --prefix llvm)/lib" >> $GITHUB_ENV
3921

40-
- name: Install dependencies (Linux)
41-
if: runner.os == 'Linux'
22+
- name: Install dependencies
4223
run: |
4324
sudo apt-get update
44-
sudo apt-get install -y \
45-
libopencv-dev \
46-
clang \
47-
libclang-dev \
48-
pkg-config
49-
50-
# Download and install ONNX Runtime
25+
sudo apt-get install -y libopencv-dev clang libclang-dev pkg-config
5126
ONNX_VERSION="1.16.3"
5227
curl -L "https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-linux-x64-${ONNX_VERSION}.tgz" | tar xz
5328
sudo mv onnxruntime-linux-x64-${ONNX_VERSION} /opt/onnxruntime
5429
echo "ORT_LIB_LOCATION=/opt/onnxruntime/lib" >> $GITHUB_ENV
55-
echo "LD_LIBRARY_PATH=/opt/onnxruntime/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
5630
5731
- name: Build
58-
run: cargo build --release --target ${{ matrix.target }}
59-
60-
- name: Package (macOS)
61-
if: runner.os == 'macOS'
62-
run: |
63-
mkdir -p dist
64-
cp target/${{ matrix.target }}/release/scenesplit dist/
65-
cd dist
66-
tar czf ../${{ matrix.artifact }}.tar.gz scenesplit
32+
run: cargo build --release
6733

68-
- name: Package (Linux)
69-
if: runner.os == 'Linux'
34+
- name: Package
7035
run: |
7136
mkdir -p dist
72-
cp target/${{ matrix.target }}/release/scenesplit dist/
37+
cp target/release/scenesplit dist/
7338
cd dist
74-
tar czf ../${{ matrix.artifact }}.tar.gz scenesplit
39+
tar czf ../scenesplit-linux-x64.tar.gz scenesplit
7540
7641
- name: Upload artifact
7742
uses: actions/upload-artifact@v4
7843
with:
79-
name: ${{ matrix.artifact }}
80-
path: ${{ matrix.artifact }}.tar.gz
44+
name: scenesplit-linux-x64
45+
path: scenesplit-linux-x64.tar.gz
8146

8247
release:
8348
name: Create Release
@@ -106,9 +71,8 @@ jobs:
10671

10772
publish:
10873
name: Publish to crates.io
109-
needs: release
74+
needs: build
11075
runs-on: ubuntu-latest
111-
# Only publish stable releases (not alpha/beta/rc)
11276
if: ${{ !contains(github.ref, 'alpha') && !contains(github.ref, 'beta') && !contains(github.ref, 'rc') }}
11377

11478
steps:
@@ -117,16 +81,7 @@ jobs:
11781
- name: Install Rust
11882
uses: dtolnay/rust-toolchain@stable
11983

120-
- name: Install dependencies
121-
run: |
122-
sudo apt-get update
123-
sudo apt-get install -y libopencv-dev clang libclang-dev pkg-config
124-
ONNX_VERSION="1.16.3"
125-
curl -L "https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-linux-x64-${ONNX_VERSION}.tgz" | tar xz
126-
sudo mv onnxruntime-linux-x64-${ONNX_VERSION} /opt/onnxruntime
127-
echo "ORT_LIB_LOCATION=/opt/onnxruntime/lib" >> $GITHUB_ENV
128-
12984
- name: Publish to crates.io
130-
run: cargo publish --allow-dirty
85+
run: cargo publish --no-verify --allow-dirty
13186
env:
13287
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to SceneSplit will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.1.5] - 2026-01-16
9+
10+
### Changed
11+
12+
- Simplify release pipeline: Linux binary only, crates.io for all platforms
13+
- macOS users should use `cargo install scenesplit`
14+
815
## [1.1.4] - 2026-01-10
916

1017
### Changed
@@ -70,6 +77,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7077
- OpenCV for video decoding
7178
- Fully offline operation after initial model download
7279

80+
[1.1.5]: https://github.com/wilmoore/scenesplit/compare/v1.1.4...v1.1.5
7381
[1.1.4]: https://github.com/wilmoore/scenesplit/compare/v1.1.3...v1.1.4
7482
[1.1.3]: https://github.com/wilmoore/scenesplit/compare/v1.1.2...v1.1.3
7583
[1.1.2]: https://github.com/wilmoore/scenesplit/compare/v1.1.1...v1.1.2

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "scenesplit"
3-
version = "1.1.4"
3+
version = "1.1.5"
44
edition = "2021"
55
authors = ["SceneSplit Team"]
66
description = "Offline CLI tool that extracts semantically distinct still images from video"

README.md

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Extract semantically distinct still images from video.
44

55
[![CI](https://github.com/wilmoore/scenesplit/actions/workflows/ci.yml/badge.svg)](https://github.com/wilmoore/scenesplit/actions/workflows/ci.yml)
6-
[![Version](https://img.shields.io/badge/version-1.1.4-green.svg)](https://github.com/wilmoore/scenesplit/releases)
6+
[![Version](https://img.shields.io/badge/version-1.1.5-green.svg)](https://github.com/wilmoore/scenesplit/releases)
77
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/wilmoore/scenesplit/blob/main/LICENSE)
88
[![Rust](https://img.shields.io/badge/rust-2021_edition-orange.svg)](https://www.rust-lang.org/)
99

@@ -46,26 +46,16 @@ sudo apt install libopencv-dev
4646
cargo install scenesplit
4747
```
4848

49-
### Pre-built Binaries
49+
### Pre-built Binaries (Linux)
5050

51-
Download the latest release for your platform from [Releases](https://github.com/wilmoore/scenesplit/releases):
52-
53-
| Platform | File |
54-
|----------|------|
55-
| macOS (Apple Silicon) | `scenesplit-macos-arm64.tar.gz` |
56-
| Linux (x64) | `scenesplit-linux-x64.tar.gz` |
51+
Download from [Releases](https://github.com/wilmoore/scenesplit/releases):
5752

5853
```bash
59-
# macOS (Apple Silicon)
60-
curl -L https://github.com/wilmoore/scenesplit/releases/latest/download/scenesplit-macos-arm64.tar.gz | tar xz
61-
sudo mv scenesplit /usr/local/bin/
62-
63-
# Linux
6454
curl -L https://github.com/wilmoore/scenesplit/releases/latest/download/scenesplit-linux-x64.tar.gz | tar xz
6555
sudo mv scenesplit /usr/local/bin/
6656
```
6757

68-
> **Note:** Intel Mac users can run the ARM64 binary via Rosetta 2 or build from source.
58+
> **macOS users:** Use `cargo install scenesplit` or build from source.
6959
7060
### Build from Source
7161

0 commit comments

Comments
 (0)