SimC builds

View as Markdown

Simmit compiles unmodified simulationcraft/simc commits and serves them via channels (latest, nightly, weekly) that resolve to a specific build at job execution time.

#Source

Each build downloads the source ZIP for a specific commit from simulationcraft/simc and compiles it unmodified. The exact commit used by a job is returned in the build object on the result response. A usable subset of the upstream profiles/ tree is bundled alongside the binary, and each profile is smoke-checked at build time so the manifest only lists files that parse and sim cleanly. See Bundled Profiles for details.

#Compilation

SimC is compiled with make optimized LTO_AUTO=1.

#Game data

Each build embeds a snapshot of WoW game data from the source it compiles. The gameData field in the /v1/simc/builds response reports the live and PTR game versions of that snapshot (for example 12.0.7.68453), each with the date of its hotfix data, alongside simcVersion, SimC's own program version. The live version is also shown for each build on the dashboard's Builds page. Builds created before Simmit captured this report gameData: null.

#Branches

Builds come from the midnight branch. Other branches can be added on request via Discord.

#CI gate

Builds are gated on upstream CI, using the newest commit on a branch whose build / * checks have all passed on simulationcraft/simc. If no commit in the window has passing CI, the branch tip is used. The CI checks can be inspected in the /v1/simc/builds response.

#Channels

When you submit a job, channel selects which build runs it. Channels are not pinned to specific builds. Instead they are resolved at job execution time against the builds currently available.

latest: newest available build. Refreshes whenever a new build completes.

nightly: newest build from yesterday or earlier, falling back to the most recent prior build if none are available.

weekly: the first build of the current calendar week (Monday-anchored), held stable until the next week begins. Falls back to last week's newest build if no current-week build exists.

For convenience, the current commit for each channel is shown on the dashboard's Builds page.

#Choosing a channel

Channel choice trades freshness for stability. latest and nightly pick up new commits within a day, tracking upstream fixes and game-patch support as SimC ships it. weekly holds one build per calendar week for reproducible runs, so it can lag the live game by up to a week. A game patch that lands mid-week is not reflected on weekly until the following Monday. Switch to latest or nightly around patch days when a run needs the freshest SimC build.

Channels are not pinned to a game patch, and Simmit does not verify that a build matches the live game. Each build reports the game-data version it embeds (see Game data above), but tracking game and SimC releases and choosing the channel that fits your run is left to you.