Skip to content

docs: Note that tests are unit-only, no integration tests yet #1

docs: Note that tests are unit-only, no integration tests yet

docs: Note that tests are unit-only, no integration tests yet #1

name: Build Executables
on:
push:
tags: ["v*"]
workflow_dispatch:
jobs:
build:
strategy:
matrix:
include:
- os: windows-latest
name: ocr-windows-x86_64.exe
- os: macos-latest
name: ocr-macos-arm64
- os: ubuntu-latest
name: ocr-linux-x86_64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
- run: uv sync && uv pip install pyinstaller
- name: Build executable
run: >
uv run pyinstaller --onefile --name ocr
--add-data "src/ocr/services/filename_generator_prompt.md:ocr/services"
src/ocr/__main__.py
- name: Rename artifact
shell: bash
run: |
if [ "${{ matrix.os }}" = "windows-latest" ]; then
mv dist/ocr.exe "dist/${{ matrix.name }}"
else
mv dist/ocr "dist/${{ matrix.name }}"
fi
- uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: "dist/${{ matrix.name }}"