First lair-only change on top of origin v4.0.2. Step 1 of #8; establishes the merge-conflict resolution rule in #1.
What changed
Deleted .github/ (five workflows and the disk action). Gitea Actions also reads .github/workflows, so origin's GitHub-hosted jobs would queue forever for ubuntu-latest. On every origin-main merge the standing resolution is git rm -r .github/workflows.
.gitea/workflows/ci.yml on the rust runner: fmt, clippy with -D warnings (same invocation as clippy.sh), build, test, doc, plus a check that the built binary's --version carries a commit. Origin's CPU benchmark job is not carried over; the GPU harness (#2) is the real gate.
crates/miner-cli/build.rs embeds MINER_BUILD_SHA (env override, else git rev-parse with a -dirty marker, else unknown). --version now prints miner-cli 4.0.2 (<sha>). The deploy in #8 asserts the running binary is the commit it shipped; semver alone cannot.
Validation
Local, toolchain 1.93.0 per rust-toolchain:
cargo fmt --all -- --check ok
cargo clippy --workspace --all-targets --all-features --locked -- -D warnings ok
cargo test --locked --workspace all passing
./target/debug/quantus-miner --version miner-cli 4.0.2 (cb6deb91391a-dirty)
MINER_BUILD_SHA=deadbeef cargo build -p miner-cli miner-cli 4.0.2 (deadbeef)
This PR is also the first run of the new workflow itself. If the ci checks do not appear on this PR, Actions is not enabled on the repo (the one thing not verifiable through the API).
Origin coupling
.gitea/ and build.rs are new files. main.rs gains one const and one attribute argument under a // lair: marker. lair/quantus's validate still matches on the 4.0.2 substring, so nothing downstream breaks before #8's deploy replaces it.
First lair-only change on top of origin v4.0.2. Step 1 of #8; establishes the merge-conflict resolution rule in #1.
## What changed
- **Deleted `.github/`** (five workflows and the `disk` action). Gitea Actions also reads `.github/workflows`, so origin's GitHub-hosted jobs would queue forever for `ubuntu-latest`. On every `origin-main` merge the standing resolution is `git rm -r .github/workflows`.
- **`.gitea/workflows/ci.yml`** on the `rust` runner: fmt, clippy with `-D warnings` (same invocation as `clippy.sh`), build, test, doc, plus a check that the built binary's `--version` carries a commit. Origin's CPU benchmark job is not carried over; the GPU harness (#2) is the real gate.
- **`crates/miner-cli/build.rs`** embeds `MINER_BUILD_SHA` (env override, else `git rev-parse` with a `-dirty` marker, else `unknown`). `--version` now prints `miner-cli 4.0.2 (<sha>)`. The deploy in #8 asserts the running binary is the commit it shipped; semver alone cannot.
## Validation
Local, toolchain 1.93.0 per `rust-toolchain`:
```
cargo fmt --all -- --check ok
cargo clippy --workspace --all-targets --all-features --locked -- -D warnings ok
cargo test --locked --workspace all passing
./target/debug/quantus-miner --version miner-cli 4.0.2 (cb6deb91391a-dirty)
MINER_BUILD_SHA=deadbeef cargo build -p miner-cli miner-cli 4.0.2 (deadbeef)
```
This PR is also the first run of the new workflow itself. If the `ci` checks do not appear on this PR, Actions is not enabled on the repo (the one thing not verifiable through the API).
## Origin coupling
`.gitea/` and `build.rs` are new files. `main.rs` gains one `const` and one attribute argument under a `// lair:` marker. lair/quantus's validate still matches on the `4.0.2` substring, so nothing downstream breaks before #8's deploy replaces it.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5
First lair-only change on top of origin v4.0.2 (quantus/miner#8, #1).
- Delete .github/ (workflows and the disk action). Gitea Actions reads
.github/workflows too, so origin's GitHub-hosted jobs would queue forever
for runners that do not exist here. Standing resolution on every
origin-main merge: `git rm -r .github/workflows`.
- Add .gitea/workflows/ci.yml on the `rust` runner: fmt, clippy with
-D warnings (same invocation as clippy.sh), build, test, doc, and a check
that the built binary reports a commit in --version.
- crates/miner-cli/build.rs embeds MINER_BUILD_SHA (env override, else
git rev-parse with a -dirty marker, else "unknown") and --version prints
"<semver> (<sha>)". A deploy that follows main needs to assert the running
binary is the commit it shipped; the semver alone cannot do that.
Origin coupling: .gitea/ and build.rs are new files; main.rs gains one const
and one attribute argument behind a `// lair:` marker.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5
rustup auto-installs the pinned toolchain from rust-toolchain on the runner
but not its listed components; the fmt job failed with "cargo-fmt is not
installed for the toolchain". Add the component in the two jobs that need it.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
First lair-only change on top of origin v4.0.2. Step 1 of #8; establishes the merge-conflict resolution rule in #1.
What changed
.github/(five workflows and thediskaction). Gitea Actions also reads.github/workflows, so origin's GitHub-hosted jobs would queue forever forubuntu-latest. On everyorigin-mainmerge the standing resolution isgit rm -r .github/workflows..gitea/workflows/ci.ymlon therustrunner: fmt, clippy with-D warnings(same invocation asclippy.sh), build, test, doc, plus a check that the built binary's--versioncarries a commit. Origin's CPU benchmark job is not carried over; the GPU harness (#2) is the real gate.crates/miner-cli/build.rsembedsMINER_BUILD_SHA(env override, elsegit rev-parsewith a-dirtymarker, elseunknown).--versionnow printsminer-cli 4.0.2 (<sha>). The deploy in #8 asserts the running binary is the commit it shipped; semver alone cannot.Validation
Local, toolchain 1.93.0 per
rust-toolchain:This PR is also the first run of the new workflow itself. If the
cichecks do not appear on this PR, Actions is not enabled on the repo (the one thing not verifiable through the API).Origin coupling
.gitea/andbuild.rsare new files.main.rsgains oneconstand one attribute argument under a// lair:marker. lair/quantus's validate still matches on the4.0.2substring, so nothing downstream breaks before #8's deploy replaces it.🤖 Generated with Claude Code
https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5