PlanOpticon

planopticon / .github / workflows / release-binaries.yml
Blame History Raw 71 lines
1
name: Build Release Binaries
2
3
on:
4
release:
5
types: [published]
6
7
permissions:
8
contents: write
9
10
jobs:
11
build:
12
strategy:
13
matrix:
14
include:
15
- os: ubuntu-latest
16
target: linux-x86_64
17
ext: ""
18
- os: macos-latest
19
target: macos-arm64
20
ext: ""
21
- os: macos-13
22
target: macos-x86_64
23
ext: ""
24
- os: windows-latest
25
target: windows-x86_64
26
ext: ".exe"
27
28
runs-on: ${{ matrix.os }}
29
steps:
30
- uses: actions/checkout@v6
31
32
- uses: actions/setup-python@v6
33
with:
34
python-version: "3.12"
35
36
- name: Install system dependencies (Ubuntu)
37
if: runner.os == 'Linux'
38
run: |
39
sudo apt-get update
40
sudo apt-get install -y ffmpeg libsndfile1
41
42
- name: Install system dependencies (macOS)
43
if: runner.os == 'macOS'
44
run: brew install ffmpeg libsndfile
45
46
- name: Install dependencies
47
run: |
48
pip install -e ".[all]"
49
pip install pyinstaller
50
51
- name: Build binary
52
shell: bash
53
run: |
54
pyinstaller \
55
--name planopticon-${{ matrix.target }} \
56
--onefile \
57
--console \
58
--hidden-import=video_processor \
59
--hidden-import=video_processor.cli.commands \
60
--hidden-import=video_processor.providers \
61
--hidden-import=video_processor.providers.openai_provider \
62
--hidden-import=video_processor.providers.anthropic_provider \
63
--hidden-import=video_processor.providers.gemini_provider \
64
--collect-all video_processor \
65
video_processor/cli/commands.py
66
67
- name: Upload binary to release
68
uses: softprops/action-gh-release@v2
69
with:
70
files: dist/planopticon-${{ matrix.target }}${{ matrix.ext }}
71

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button