• .gitlab-ci.yml

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Thursday, July 16, 2026 19:28:45
    https://gitlab.synchro.net/main/sbbs/-/commit/f2e799d47b37a435a0cd6df6
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    CI: run a pipeline when the CI definition itself changes

    The .rules changes: list covered the sources a build consumes -- src/,
    3rdp/, ctrl/text.dat, exec/tests/ and the makefile globs -- but not the pipeline definition. A commit touching only .gitlab-ci.yml or .gitlab-ci-unix.yml therefore matched no rule and created no pipeline at
    all, so a CI change could not test itself: it sat unvalidated until some
    later commit happened to touch src/ or 3rdp/, which is exactly when a
    mistake in it is most surprising.

    The commit that added the termgfx door jobs hit this: it changed only the
    two CI files, so nothing ran, and the jobs it defined stayed unproven.

    Match .gitlab-ci*.yml so such a commit runs the pipeline it edits. The
    glob covers both the top-level file and the included per-platform one.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Friday, July 24, 2026 23:17:57
    https://gitlab.synchro.net/main/sbbs/-/commit/1edeb70972df50b128638ce1
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    CI: build the Win32 doors

    Nothing covered the doors' MSVC builds, so three of the eight had been
    broken for a while with no pipeline to say so (128a6b52d9). One job per
    door that has an MSVC build -- the same set src\doors\build.bat calls
    buildable on Windows -- which also gives syncrpg and syncscumm their
    first CI job on any platform.

    Modelled on the .<os>-termgfx-door jobs: each door is driven through its
    own build.bat, the documented entry point that encodes its CMake flags,
    and needs nothing from the library jobs since these trees build xpdev,
    termgfx and their vendored engine as sub-targets. The Clans is the
    exception with no build.bat of its own, so it goes through the umbrella
    script, which already carries the MSBuild probe.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thursday, August 06, 2026 13:54:22
    https://gitlab.synchro.net/main/sbbs/-/commit/aea81a371352b07322daea77
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    Serialize Windows OpenSSL vcpkg build
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thursday, August 06, 2026 17:07:08
    https://gitlab.synchro.net/main/sbbs/-/commit/aab6ab1aca4246a11ae83f3f
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    Package qtmonitor Windows runtime
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thursday, August 06, 2026 18:46:49
    https://gitlab.synchro.net/main/sbbs/-/commit/b7dd87031b9baf109f743658
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    Fix Windows Qt deployment options
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thursday, August 06, 2026 19:23:02
    https://gitlab.synchro.net/main/sbbs/-/commit/f95f660ea3b82c3d410fea72
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    Build qtmonitor in Win32 daily builds
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thursday, August 06, 2026 22:40:50
    https://gitlab.synchro.net/main/sbbs/-/commit/a774e129d2a2d67c2ab38cd4
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    Build both OpenSSL variants serially in Windows CI
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sunday, August 23, 2026 15:31:24
    https://gitlab.synchro.net/main/sbbs/-/commit/b0ecff520a8d44c125bf4090
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    CI: disable MSBuild node reuse in the Windows jobs

    windows-x86 [syncscumm] fails intermittently on the vert runner with
    "MSB4166: Child node N exited prematurely", always in the same phase: the moment vcpkg's MSBuild integration fans its inline Roslyn task compiles
    across the solution's ~9 projects. The same commit went fail, fail, pass
    on three runs. One trace inlined the dead node's dump -- a MissingMethodException on System.Runtime.CompilerServices.Unsafe thrown
    out of ToolsetConfigurationReader, i.e. the node crashed reading its own MSBuild.exe.config before binding redirects applied.

    MSBuild keeps worker nodes alive for 15 minutes after a build and hands
    them back out on a handshake that covers the MSBuild version but not the environment they were started in. The runner is a shell executor running several Windows jobs concurrently under one account -- every failure
    overlapped both [syncterm-msvc] and [syncrpg] -- so a build can recruit a
    node another job left behind and inherit its toolset environment.

    Set MSBUILDDISABLENODEREUSE=1 on every Windows job that drives MSBuild,
    through a new .windows-msbuild template. Reuse only saves node startup on back-to-back builds; developer builds keep it.

    The door jobs this surfaced in were added in 1edeb70972.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KvZbcp3SQ7xt7bgpRRxvpg
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tuesday, August 25, 2026 22:05:21
    https://gitlab.synchro.net/main/sbbs/-/commit/e8f5719eb56367c330d71148
    Modified Files:
    .gitlab-ci.yml
    Log Message:
    CI: surface MSBuild's worker-node crash dumps in the job log

    When an MSBuild worker node dies, MSBuild writes the exception to MSBuild_*.failure.txt under MSBUILDDEBUGPATH, which on this runner defaults
    to C:\WINDOWS\SystemTemp -- unreachable. Only one of the six
    windows-x86 [syncscumm] failures happened to inline its dump into the trace, and that dump is what eventually identified the bug fixed in the preceding commit. Point MSBUILDDEBUGPATH into the workspace and have after_script
    echo whatever lands there, so the next one is diagnosable from the log
    alone.

    Also corrects the MSBUILDDISABLENODEREUSE comment, which asserted that jobs recruiting each other's leftover nodes was the cause of those failures. It
    was not: they recurred with reuse disabled, and passing and failing runs had identical job overlap. The setting stays as hygiene on a shared runner.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KvZbcp3SQ7xt7bgpRRxvpg
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)