Skip to content

Add cross-platform binary release pipeline#2

Merged
felipegaudio merged 1 commit into
mainfrom
release-pipeline
Jul 21, 2026
Merged

Add cross-platform binary release pipeline#2
felipegaudio merged 1 commit into
mainfrom
release-pipeline

Conversation

@felipegaudio

Copy link
Copy Markdown
Contributor

Summary

  • Adds a GitHub Actions workflow (.github/workflows/release.yml) that builds standalone PyInstaller binaries for Linux, macOS, and Windows on every v* tag push, smoke-tests each binary (olist-code version), and publishes them as GitHub Release assets.
  • Adds scripts/install.sh and scripts/install.ps1 so users can install with a single curl | bash / irm | iex command — no Python, pip, or uv required locally. Since the repo is private, the scripts use gh release download (already authenticated for most engineers) or fall back to a GITHUB_TOKEN env var.
  • Adds scripts/pyinstaller_entry.py as the PyInstaller entry point, a build optional-dependency group (PyInstaller) in pyproject.toml, and fills in the previously-empty README.md with install/usage instructions.

Test plan

  • Ran a local PyInstaller build using the exact entry point committed (scripts/pyinstaller_entry.py) — binary built successfully and olist-code version / olist-code --help ran correctly.
  • Validated .github/workflows/release.yml YAML syntax parses correctly.
  • pytest — full suite passes (45 passed), no regressions.
  • ruff check — no new issues (pre-existing unrelated import-order warnings in tests/test_adapter.py only).

Notes / follow-ups

  • macOS build only targets arm64 (GitHub-hosted macos-latest runners); add an x86_64 leg later if Intel Macs are still in use.
  • Tags keep the semantic-versioning v* prefix (e.g. v1.0.0) per team preference.

Package olist-code as standalone PyInstaller binaries for
Linux/macOS/Windows, published as GitHub Release assets on `v*`
tags, plus install.sh/install.ps1 scripts so users can install
without Python, pip, or uv on their machine.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suporte a windows rsrs

@felipegaudio
felipegaudio merged commit 9f1c518 into main Jul 21, 2026
@felipegaudio
felipegaudio deleted the release-pipeline branch July 21, 2026 13:08
felipegaudio added a commit that referenced this pull request Jul 24, 2026
Package olist-code as standalone PyInstaller binaries for
Linux/macOS/Windows, published as GitHub Release assets on `v*`
tags, plus install.sh/install.ps1 scripts so users can install
without Python, pip, or uv on their machine.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants