Skip to content

Release v1.1.0, take two: fix the tag-build workflow (#512) + COLI_TEMP / ROCm collision (#513)#514

Merged
JustVugg merged 6 commits into
mainfrom
dev
Jul 22, 2026
Merged

Release v1.1.0, take two: fix the tag-build workflow (#512) + COLI_TEMP / ROCm collision (#513)#514
JustVugg merged 6 commits into
mainfrom
dev

Conversation

@JustVugg

Copy link
Copy Markdown
Owner

The v1.1.0 tag build died before publishing anything: release.yml still built and copied the engine under its pre-#391 name (failed run). This brings main the fix plus one real bug fix that landed meanwhile:

After merge: delete and re-push the v1.1.0 tag on the new main head (safe — no release was published).

🤖 Generated with Claude Code

JustVugg and others added 5 commits July 22, 2026 08:14
The #391 rename left release.yml building 'make glm' (an alias that now
produces 'colibri') and then asserting/copying 'c/glm', which no longer
exists. CI never catches this: only a tag push runs this workflow, so the
v1.1.0 tag build failed on macOS at 'ls -lh glm' with the other jobs
cancelled and the release skipped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…o ROCm and Windows (#509)

The engine read the sampling temperature from the env var TEMP, a name the
platform already owns: the ROCm runtime (comgr, MIOpen, roctracer) reads
$TEMP as a temp-directory path, so 'coli --temp 0.6' made HIP context init
fail inside comgr's lazy first-use — SIGSEGV in the runtime's error-unwind
on gfx1100, clean hipErrorOutOfMemory on gfx1030. And on native Windows
builds TEMP is ALWAYS set (C:\...\Temp), so atof() returned 0 and every
run without an explicit override was silently greedy.

Three complementary pieces, per the discussion in #509:

- coli --temp now exports COLI_TEMP; the engine reads COLI_TEMP first.
- TEMP survives as a legacy alias but only when fully numeric (strtod must
  consume the whole string): existing TEMP=0 scripts keep working, while a
  Windows/ROCm directory path no longer masquerades as a temperature.
- Defense-in-depth in coli_cuda_init (HIP builds only): a $TEMP that is
  not a real directory is dropped before the first ROCm call — covers a
  stray numeric TEMP set manually on the raw binary; a genuine temp-dir
  is preserved (noobdev-ph's scrub from the #509 thread).

The parse lives in temp_from_env() so tests/test_temp_env.c can pin the
contract (11 cases: precedence, legacy alias, Windows path, auto).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
release workflow: build/copy the engine under its post-rename name (v1.1.0 tag build failed)
sampling: COLI_TEMP replaces the TEMP env var — $TEMP belongs to ROCm and Windows (#509)
…me step

The README and quickstart still told Windows users to rename the downloaded
engine to glm.exe: that was the pre-#508 archive layout. Since #508 the
archive ships the engine plainly named colibri.exe and the launcher finds it
with zero setup — the rename step now just confuses people (and the file it
names no longer exists).

Same sweep for the build docs: 'make glm.exe' is not a target anymore
(windows.md recommended it), direct-run examples said ./glm(.exe), metal.md
built 'make glm METAL=1'. All now use the real names; troubleshooting rows
keep a '(glm.exe pre-rename)' note where old trees are the subject.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs: no more glm.exe — the archive ships colibri.exe ready to run (obsolete rename step removed)
@JustVugg
JustVugg merged commit 0c52439 into main Jul 22, 2026
18 checks passed
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.

[Bug]: TEMP env var conflicts with ROCm on AMD GPUs causing SIGSEGV

1 participant