20 Commits

Author SHA1 Message Date
e0cb337538 fix(ci): reduce poll frequency to hourly and stop cancelling prerelease builds
The 15-minute poll interval was re-dispatching builds before they could
finish. The prerelease workflow had cancel-in-progress: true which
cancelled the running build each time. Change poll to hourly and set
cancel-in-progress: false on prerelease builds so they run to completion.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 19:03:07 +03:00
3e3090802a fix(ci): separate concurrency groups so polling is not blocked by builds
All checks were successful
poll-upstream / check (push) Successful in 3s
poll-upstream / check-prerelease (push) Successful in 2s
poll-upstream and build-release shared the poll-and-build concurrency
group, which caused cron-triggered poll runs to be queued or dropped
while a build was in progress. Give each workflow its own group and
set cancel-in-progress: true for the poller since stale polls are
redundant.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 14:53:36 +03:00
c1ffe7e62e fix(ci): use upstream default branch master for prerelease polling
The mistral.rs repo uses master as its default branch, not main.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 14:49:35 +03:00
ace6037a2d feat: replace cuda13 flavour with per-GPU-generation packages
All checks were successful
deploy-ui / build-and-deploy (push) Successful in 44s
Build separate packages for each GPU generation instead of a single
cuda13 package:
- mistralrs-ampere (sm_86, RTX 3060)
- mistralrs-ada (sm_89, RTX 4090)
- mistralrs-blackwell (sm_120, RTX 5090)

All use the same CUDA 13.0 toolkit and features (cuda, cudnn, flash-attn,
nccl), varying only the compute capability target.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 14:45:28 +03:00
a79eafd70f feat: add prerelease RPM builds from upstream main branch
Some checks failed
deploy-ui / build-and-deploy (push) Has been cancelled
Poll upstream main branch HEAD alongside release tags. When a new commit
is detected, build and publish prerelease RPMs to a separate unstable
repo at rpm.lair.cafe/fedora/$releasever/$basearch/unstable/.

RPM versioning uses the Fedora snapshot convention (e.g.
0.8.1-0.1.20260511git1a2b3c4.fc43) so stable releases automatically
supersede any installed prerelease.

- RPM spec: conditional Release field via mistralrs_prerelease define
- poll-upstream.yml: new check-prerelease job fetches main HEAD + Cargo.toml version
- build-prerelease.yml: new workflow for commit-based builds without --locked
- UI: fetch both stable/unstable manifests, show channel badges, add
  unstable repo setup instructions to home page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 14:21:28 +03:00
ef7e3a3183 refactor: rename package from mistralrs-server to mistralrs
All checks were successful
deploy-ui / build-and-deploy (push) Successful in 20s
Rename the RPM package from mistralrs-server-<flavour> to
mistralrs-<flavour> and the installed binary from mistralrs-server
to mistralrs, matching the upstream CLI binary name.

Adds Obsoletes/Provides for the old package name so dnf will cleanly
replace it on upgrade.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 18:53:32 +03:00
ff8e5437ef fix(ci): verify repo index consistency in poll-upstream check
All checks were successful
poll-upstream / check (push) Successful in 1s
The RPM file existing on the server is not sufficient — the repo
metadata must also reference it. After checking the file exists,
verify repomd.xml is present and dnf repoquery can find the package
in the index. This catches the case where sync succeeded but
createrepo_c failed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 10:06:58 +03:00
bab7d9850c fix(ci): use fedora-43 runner label for all non-build jobs
All checks were successful
poll-upstream / check (push) Successful in 1s
Ensures package, publish, and poll-upstream jobs are picked up by
Fedora 43 runners specifically.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 15:32:40 +03:00
f4e1008684 feat(ci): parameterize fedora version across pipeline
Add fedora_version to build, package, and publish matrices so the
pipeline can target multiple Fedora releases in parallel. Force the
dist tag via --define to ensure RPMs are stamped correctly regardless
of build host. Update poll-upstream to check all fedora/flavour
combinations before triggering a build.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 14:36:09 +03:00
e6c2b4e402 fix(ci): prevent poll-upstream from cancelling in-progress builds
All checks were successful
poll-upstream / check (push) Successful in 1s
Poll was firing every minute, dispatching new builds that cancelled
the running one. Restore 15-minute cron interval and add shared
concurrency group across both workflows so new polls queue instead
of re-dispatching.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 13:15:34 +03:00
adb1683a54 chore(ci): remove debug logging from poll-upstream dispatch
All checks were successful
poll-upstream / check (push) Successful in 1s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 11:22:07 +03:00
ead42ae7b4 fix(ci): use full ref format and Content-Type header for dispatch
All checks were successful
poll-upstream / check (push) Successful in 1s
Gitea API requires refs/heads/main (not just main) and
Content-Type: application/json for the dispatch endpoint.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 11:20:06 +03:00
09ca33e0b6 debug(ci): log dispatch URL and response body for 422 diagnosis
All checks were successful
poll-upstream / check (push) Successful in 1s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 11:12:16 +03:00
8cffedd2a9 fix(ci): use PAT for workflow dispatch in poll-upstream
Some checks failed
poll-upstream / check (push) Failing after 1s
The automatic GITEA_TOKEN cannot trigger other workflows. Use a
dedicated DISPATCH_TOKEN secret (personal access token with
repository read/write scope) instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 11:10:29 +03:00
95dec3d652 fix(ci): grant actions write permission to poll-upstream workflow
Some checks failed
poll-upstream / check (push) Failing after 1s
The automatic GITEA_TOKEN lacks actions:write by default, causing
a 422 when dispatching the build-release workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 10:54:09 +03:00
c691687d81 fix(ci): remove --fail from curl in poll-upstream version check
Some checks failed
poll-upstream / check (push) Failing after 1s
--fail causes curl to exit 22 on HTTP errors before --write-out can
capture the response code, breaking the 200/404 branching logic.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 10:49:24 +03:00
429bcbccb6 fix: evaluate http response code for package existence
Some checks failed
poll-upstream / check (push) Failing after 1s
2026-04-24 10:45:27 +03:00
4025171c75 fix: package name 2026-04-24 09:53:34 +03:00
c598165f2d refactor: restructure rpm repo path to distro/version/arch layout
Some checks failed
poll-upstream / check (push) Failing after 1s
Move from /var/www/rpm/mistralrs/fedora-43/x86_64/ to
/var/www/rpm/fedora/43/x86_64/ so the repo can host packages
from multiple projects under a conventional hierarchy.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 09:17:05 +03:00
3b1c6843d6 chore: init 2026-04-24 09:10:36 +03:00