Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1042,7 +1042,8 @@ jobs:

# v2.9.4 — the eight fuzz targets under fuzz/ were built by nobody: no
# workflow mentioned them, so a target could stop compiling and nothing would
# say so. This builds all eight and runs each for a FIXED number of inputs from
# say so. This builds them all (nine since v3.2.0's `movie_import`, the five
# foreign-movie importers) and runs each for a FIXED number of inputs from
# a FIXED seed, so a run is reproducible and a failure is a real crash, not a
# time-box artifact. It starts from an empty corpus (fuzz/corpus is local).
# Measured on the maintainer's machine with the local corpus: ~70 s for all
Expand All @@ -1051,7 +1052,7 @@ jobs:
# libFuzzer needs nightly; the fuzz crate is its own workspace (fuzz/Cargo.toml),
# so the project pin in rust-toolchain.toml does not apply to it.
fuzz:
name: fuzz (8 targets, fixed seed)
name: fuzz (9 targets, fixed seed)
needs: [changes, setup]
if: ${{ needs.changes.outputs.code == 'true' && needs.setup.outputs.heavy == 'true' }}
runs-on: ubuntu-26.04
Expand All @@ -1065,7 +1066,7 @@ jobs:
toolchain: nightly
apt: "false"
cache-key: fuzz
- uses: taiki-e/install-action@v2.87.26
- uses: taiki-e/install-action@v2.87.27
with:
tool: cargo-fuzz
- name: Build and run every fuzz target
Expand All @@ -1082,7 +1083,7 @@ jobs:
cargo +nightly fuzz build -O --target x86_64-unknown-linux-gnu
targets=$(cargo +nightly fuzz list)
n=$(printf '%s\n' "$targets" | grep -c .)
[ "$n" -ge 8 ] || { echo "::error::expected at least 8 fuzz targets, found $n"; exit 1; }
[ "$n" -ge 9 ] || { echo "::error::expected at least 9 fuzz targets, found $n"; exit 1; }
# Run EVERY target even after one crashes, so a single run reports
# all of them rather than the first (agy on #574).
failed=""
Expand Down Expand Up @@ -1129,7 +1130,7 @@ jobs:
with:
components: llvm-tools-preview
cache-key: coverage
- uses: taiki-e/install-action@v2.87.26
- uses: taiki-e/install-action@v2.87.27
with:
tool: cargo-llvm-cov
- run: cargo llvm-cov --workspace --lib --summary-only --fail-under-lines 70
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
# Reason 2 was an ACTIVE constraint until the v1.3.0 pin bump (1.86 vs
# cargo-audit's 1.88); it is slack today and can bind again after an MSRV
# change in either direction, so it is kept rather than deleted as history.
- uses: taiki-e/install-action@v2.87.26
- uses: taiki-e/install-action@v2.87.27
with:
tool: cargo-audit
- run: cargo audit
Expand All @@ -92,7 +92,7 @@ jobs:
# Prebuilt binary for the same two reasons as the audit job above: it is
# much faster than compiling cargo-deny, and it keeps the security gate
# independent of this repo's rustc pin. Policy lives in `deny.toml`.
- uses: taiki-e/install-action@v2.87.26
- uses: taiki-e/install-action@v2.87.27
with:
tool: cargo-deny
- run: cargo deny check
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,10 @@ WARP.md
# Local scratch / salvage working dir (data/docs/logs pulled from /tmp triage); not
# part of the repo.
/salvaged/
# v3.2.0: an AI agent's /tmp-salvage scratch from the agy/Codex remediation
# branch (session transcripts, a /tmp listing, the author's address). Kept in the
# gitignored salvaged/ above; it must never be committed under this name either.
/salvaged_tmp/

# NOTE: BestEffort boot-smoke ROMs (homebrew/unlicensed/multicart) are no longer
# a separate tree — they live under the already-ignored tests/roms/external/
Expand Down
54 changes: 28 additions & 26 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ default-members = ["crates/rustynes-libretro"]
# `release-auto.yml` reads the `## [X.Y.Z]` line for BOTH the release body
# fallback and the title codename — so the date and quoted codename are load-
# bearing, not decoration.
version = "3.1.0"
version = "3.2.0"
edition = "2024"
# The toolchain is 1.99 (rust-toolchain.toml), and every crate inherits this
# floor, the libretro path included: the libretro buildbot follows the same pin
Expand All @@ -99,7 +99,6 @@ rustynes-apu = { path = "crates/rustynes-apu", version = "3.0.0", default-featur
rustynes-mappers = { path = "crates/rustynes-mappers", version = "3.0.0" }
rustynes-netplay = { path = "crates/rustynes-netplay", version = "3.0.0" }
rustynes-script = { path = "crates/rustynes-script", version = "3.0.0" }
rustynes-test-harness = { path = "crates/rustynes-test-harness", version = "3.0.0" }
# v1.8.0 "Android" — the shared mobile bridge, consumed by rustynes-android (and
# v1.9.0's rustynes-ios). Path dep; the version req is a floor.
rustynes-mobile = { path = "crates/rustynes-mobile", version = "3.0.0" }
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ android {
// `scripts/release-automation/bump_release.py` from now on, starting
// with the 3.0.0 cut. versionCode = MAJOR * 10000 + MINOR * 100 +
// PATCH, so 20909 still rises past 20004.
versionCode = 30100
versionName = "3.1.0"
versionCode = 30200
versionName = "3.2.0"
// No abiFilters here — set per buildType so release ships arm64 only
// while debug keeps x86_64 for the emulator.
// PLAY_BUILD is set per-flavor below (`false` for `foss`, `true` for `play`),
Expand Down
Loading
Loading