Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .github/workflows/build-windows-exe.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Build Windows exe

on:
push:
branches: [main]
pull_request:
workflow_dispatch:

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Run self-tests
run: python -m unittest tests.test_conjure tests.test_wizard -v

build-windows:
# Only build+publish on an actual push to main (or a manual trigger) —
# never on a PR branch, so pull requests don't spam the release.
if: github.event_name != 'pull_request'
needs: test
runs-on: windows-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install PyInstaller
run: pip install pyinstaller
- name: Build conjure.exe
run: pyinstaller --onefile --noconsole conjure.py
- name: Publish latest build
uses: softprops/action-gh-release@v2
with:
tag_name: latest-build
name: Latest build
make_latest: true
files: dist/conjure.exe
body: |
Automatically built from the latest `main` (commit ${{ github.sha }}).
This is not a versioned release — it always reflects whatever is
currently on `main`. Download `conjure.exe` below and run it directly;
no Python install needed.
18 changes: 15 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,14 @@ creature models. It automates binary edits to `.m2` model files and `.dbc` datab
you'd otherwise do by hand in a hex editor. It's pure, deterministic file manipulation — no
machine learning, no network access, nothing leaves your machine.

## Requirements
## Windows: just want a double-clickable app?

Grab the always-up-to-date prebuilt `conjure.exe` from the
**[latest release](../../releases/latest)** — no Python install needed. It's rebuilt
automatically by GitHub Actions every time `main` changes, so it never goes stale the way a
manually-committed `.exe` would. Download `conjure.exe` from that page and double-click it.

## Requirements (running from source)

- Python 3.7+ (Windows/macOS/Linux). Conjure's GUI uses `tkinter`, which ships with the standard
Python installer on Windows and macOS.
Expand Down Expand Up @@ -143,14 +150,19 @@ shows the re-parsed, resolved values.

Output files land in a `conjure_output/` folder next to your input files.

## Building a Windows .exe
## Building a Windows .exe yourself

Most people should just grab the [latest release](../../releases/latest) instead (see above) —
this is only for building your own copy, e.g. to test local changes:

```
pip install pyinstaller
pyinstaller --onefile --noconsole conjure.py
```

The resulting `conjure.exe` will be in `dist/`.
The resulting `conjure.exe` will be in `dist/`. Don't commit it to the repo — it goes stale the
moment `conjure.py` changes, which is exactly what the automated release build (see above) exists
to avoid.

## Running the self-tests

Expand Down
Binary file removed conjure.exe
Binary file not shown.
8 changes: 0 additions & 8 deletions conjure_config.json

This file was deleted.

Loading