Compare commits

..

6 Commits

Author SHA1 Message Date
dependabot[bot]
ba504558b0 chore(deps): bump the rust-minor group across 1 directory with 9 updates
Bumps the rust-minor group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [bitflags](https://github.com/bitflags/bitflags) | `2.9.4` | `2.10.0` |
| [circular-buffer](https://github.com/andreacorbellini/rust-circular-buffer) | `1.1.0` | `1.2.0` |
| rust-embed | `8.7.2` | `8.9.0` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.47.1` | `1.48.0` |
| [http](https://github.com/hyperium/http) | `1.3.1` | `1.4.0` |
| [hyper](https://github.com/hyperium/hyper) | `1.7.0` | `1.8.1` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.10.1` | `1.11.0` |
| [bon](https://github.com/elastio/bon) | `3.7.2` | `3.8.1` |



Updates `bitflags` from 2.9.4 to 2.10.0
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0)

Updates `circular-buffer` from 1.1.0 to 1.2.0
- [Release notes](https://github.com/andreacorbellini/rust-circular-buffer/releases)
- [Changelog](https://github.com/andreacorbellini/rust-circular-buffer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/andreacorbellini/rust-circular-buffer/compare/v1.1.0...v1.2.0)

Updates `rust-embed` from 8.7.2 to 8.9.0

Updates `serde` from 1.0.225 to 1.0.228
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.225...v1.0.228)

Updates `tokio` from 1.47.1 to 1.48.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.48.0)

Updates `http` from 1.3.1 to 1.4.0
- [Release notes](https://github.com/hyperium/http/releases)
- [Changelog](https://github.com/hyperium/http/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/http/compare/v1.3.1...v1.4.0)

Updates `hyper` from 1.7.0 to 1.8.1
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v1.7.0...v1.8.1)

Updates `bytes` from 1.10.1 to 1.11.0
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.10.1...v1.11.0)

Updates `bon` from 3.7.2 to 3.8.1
- [Release notes](https://github.com/elastio/bon/releases)
- [Changelog](https://github.com/elastio/bon/blob/master/release-plz.toml)
- [Commits](https://github.com/elastio/bon/compare/v3.7.2...v3.8.1)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-minor
- dependency-name: circular-buffer
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-minor
- dependency-name: rust-embed
  dependency-version: 8.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-minor
- dependency-name: serde
  dependency-version: 1.0.228
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-minor
- dependency-name: tokio
  dependency-version: 1.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-minor
- dependency-name: http
  dependency-version: 1.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-minor
- dependency-name: hyper
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-minor
- dependency-name: bytes
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-minor
- dependency-name: bon
  dependency-version: 3.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 01:08:29 +00:00
dependabot[bot]
191fe49c64 chore(deps): bump actions/checkout in the github-actions group (#11)
Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 16:14:41 -06:00
Ryan Walters
cc6a1a4c6a fix(ci): skip Railway deployment and Coveralls upload when tokens unavailable
Dependabot PRs lack access to repository secrets, causing workflow failures.
This change adds token availability checks with informative warnings, allowing
CI to complete successfully while skipping deployment steps that require secrets.

Coverage generation still runs to maintain build verification, but upload is
conditional on token availability.
2025-11-23 11:48:58 -06:00
Ryan Walters
0338188e94 refactor: reorganize project structure for clarity
Move documentation assets to .github/assets/ and backend scripts to pacman-server/scripts/. Updates all references in README and Justfile.
2025-11-23 11:47:43 -06:00
dependabot[bot]
a60d309a66 chore(deps): bump mockall from 0.13.1 to 0.14.0 in the rust-major group (#14) 2025-11-23 16:15:22 +00:00
Ryan Walters
203a5c0e2e fix(ci): skip Coveralls upload when token unavailable
The coverage workflow was failing on Dependabot PRs because
COVERALLS_REPO_TOKEN is not available to PRs from forks for security
reasons. Add a conditional check to skip the upload step when the
token is missing, while still running coverage generation.

This allows PRs to pass CI while retaining coverage reports on master.
2025-11-23 01:38:41 -06:00
13 changed files with 134 additions and 176 deletions

View File

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@@ -56,7 +56,16 @@ jobs:
just coverage
working-directory: pacman
- name: Check Coveralls Token
run: |
if [ -z "${{ secrets.COVERALLS_REPO_TOKEN }}" ]; then
echo "::warning::COVERALLS_REPO_TOKEN not available - coverage upload skipped (common for Dependabot PRs)"
else
echo "COVERALLS_REPO_TOKEN is available - will upload coverage"
fi
- name: Coveralls upload
if: ${{ secrets.COVERALLS_REPO_TOKEN != '' }}
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.COVERALLS_REPO_TOKEN }}

View File

@@ -132,8 +132,17 @@ jobs:
env:
RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}
steps:
- name: Check Railway Token
run: |
if [ -z "$RAILWAY_TOKEN" ]; then
echo "::warning::RAILWAY_TOKEN not available - deployment skipped (common for Dependabot PRs)"
exit 0
fi
- name: Generate proxy Dockerfile
if: env.RAILWAY_TOKEN != ''
run: echo "FROM ghcr.io/xevion/pac-man@${{ needs.build-and-deploy.outputs.digest }}" > Dockerfile
- name: Deploy to Railway
if: env.RAILWAY_TOKEN != ''
run: railway up --service pac-man

270
Cargo.lock generated
View File

@@ -2,15 +2,6 @@
# It is not intended for manual editing.
version = 4
[[package]]
name = "addr2line"
version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
dependencies = [
"gimli",
]
[[package]]
name = "adler2"
version = "2.0.1"
@@ -264,7 +255,7 @@ checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5"
dependencies = [
"axum-core",
"axum-macros",
"bytes 1.10.1",
"bytes 1.11.0",
"form_urlencoded",
"futures-util",
"http",
@@ -284,7 +275,7 @@ dependencies = [
"serde_path_to_error",
"serde_urlencoded",
"sync_wrapper",
"tokio 1.47.1",
"tokio 1.48.0",
"tower",
"tower-layer",
"tower-service",
@@ -310,7 +301,7 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"futures-core",
"http",
"http-body",
@@ -343,7 +334,7 @@ checksum = "680e88effaafbb28675074f29cda0e984c984bed5eb513085c17caf7de564225"
dependencies = [
"anyhow",
"axum",
"bytes 1.10.1",
"bytes 1.11.0",
"bytesize",
"cookie",
"expect-json",
@@ -359,26 +350,11 @@ dependencies = [
"serde_json",
"serde_urlencoded",
"smallvec 1.15.1",
"tokio 1.47.1",
"tokio 1.48.0",
"tower",
"url",
]
[[package]]
name = "backtrace"
version = "0.3.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
dependencies = [
"addr2line",
"cfg-if 1.0.3",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
"windows-targets 0.52.6",
]
[[package]]
name = "base64"
version = "0.21.7"
@@ -410,7 +386,7 @@ dependencies = [
"bevy_reflect",
"bevy_tasks",
"bevy_utils",
"bitflags 2.9.4",
"bitflags 2.10.0",
"bumpalo",
"concurrent-queue",
"derive_more",
@@ -544,7 +520,7 @@ version = "0.72.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"cexpr",
"clang-sys",
"itertools 0.13.0",
@@ -572,11 +548,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.9.4"
version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
dependencies = [
"serde",
"serde_core",
]
[[package]]
@@ -602,10 +578,10 @@ checksum = "899ca34eb6924d6ec2a77c6f7f5c7339e60fd68235eaf91edd5a15f12958bb06"
dependencies = [
"async-stream",
"base64 0.22.1",
"bitflags 2.9.4",
"bitflags 2.10.0",
"bollard-buildkit-proto",
"bollard-stubs",
"bytes 1.10.1",
"bytes 1.11.0",
"chrono",
"futures-core",
"futures-util",
@@ -632,7 +608,7 @@ dependencies = [
"serde_repr",
"serde_urlencoded",
"thiserror 2.0.16",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-stream",
"tokio-util",
"tonic",
@@ -661,7 +637,7 @@ checksum = "64ea257e555d16a2c01e5593f40b73865cdf12efbceda33c6d14a2d8d1490368"
dependencies = [
"base64 0.22.1",
"bollard-buildkit-proto",
"bytes 1.10.1",
"bytes 1.11.0",
"chrono",
"prost",
"serde",
@@ -672,9 +648,9 @@ dependencies = [
[[package]]
name = "bon"
version = "3.7.2"
version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2529c31017402be841eb45892278a6c21a000c0a17643af326c73a73f83f0fb"
checksum = "ebeb9aaf9329dff6ceb65c689ca3db33dbf15f324909c60e4e5eef5701ce31b1"
dependencies = [
"bon-macros",
"rustversion",
@@ -682,9 +658,9 @@ dependencies = [
[[package]]
name = "bon-macros"
version = "3.7.2"
version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d82020dadcb845a345591863adb65d74fa8dc5c18a0b6d408470e13b7adc7005"
checksum = "77e9d642a7e3a318e37c2c9427b5a6a48aa1ad55dcd986f3034ab2239045a645"
dependencies = [
"darling 0.21.3",
"ident_case",
@@ -737,9 +713,9 @@ dependencies = [
[[package]]
name = "bytes"
version = "1.10.1"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
[[package]]
name = "bytesize"
@@ -827,9 +803,9 @@ dependencies = [
[[package]]
name = "circular-buffer"
version = "1.1.0"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23bdce1da528cadbac4654b5632bfcd8c6c63e25b1d42cea919a95958790b51d"
checksum = "14c638459986b83c2b885179bd4ea6a2cbb05697b001501a56adb3a3d230803b"
[[package]]
name = "clang-sys"
@@ -1807,12 +1783,6 @@ dependencies = [
"weezl",
]
[[package]]
name = "gimli"
version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
[[package]]
name = "glam"
version = "0.29.3"
@@ -1841,14 +1811,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386"
dependencies = [
"atomic-waker",
"bytes 1.10.1",
"bytes 1.11.0",
"fnv",
"futures-core",
"futures-sink",
"http",
"indexmap 2.11.3",
"slab",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-util",
"tracing",
]
@@ -1963,12 +1933,11 @@ dependencies = [
[[package]]
name = "http"
version = "1.3.1"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a"
dependencies = [
"bytes 1.10.1",
"fnv",
"bytes 1.11.0",
"itoa",
]
@@ -1978,7 +1947,7 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"http",
]
@@ -1988,7 +1957,7 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"futures-core",
"http",
"http-body",
@@ -2015,12 +1984,12 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hyper"
version = "1.7.0"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e"
checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11"
dependencies = [
"atomic-waker",
"bytes 1.10.1",
"bytes 1.11.0",
"futures-channel",
"futures-core",
"h2",
@@ -2032,7 +2001,7 @@ dependencies = [
"pin-project-lite",
"pin-utils",
"smallvec 1.15.1",
"tokio 1.47.1",
"tokio 1.48.0",
"want",
]
@@ -2046,7 +2015,7 @@ dependencies = [
"hyper",
"hyper-util",
"pin-project-lite",
"tokio 1.47.1",
"tokio 1.48.0",
"tower-service",
"winapi 0.3.9",
]
@@ -2062,7 +2031,7 @@ dependencies = [
"hyper-util",
"rustls",
"rustls-pki-types",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-rustls",
"tower-service",
"webpki-roots 1.0.2",
@@ -2077,7 +2046,7 @@ dependencies = [
"hyper",
"hyper-util",
"pin-project-lite",
"tokio 1.47.1",
"tokio 1.48.0",
"tower-service",
]
@@ -2087,12 +2056,12 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"http-body-util",
"hyper",
"hyper-util",
"native-tls",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-native-tls",
"tower-service",
]
@@ -2104,7 +2073,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8"
dependencies = [
"base64 0.22.1",
"bytes 1.10.1",
"bytes 1.11.0",
"futures-channel",
"futures-core",
"futures-util",
@@ -2117,7 +2086,7 @@ dependencies = [
"pin-project-lite",
"socket2 0.6.0",
"system-configuration",
"tokio 1.47.1",
"tokio 1.48.0",
"tower-service",
"tracing",
"windows-registry",
@@ -2134,7 +2103,7 @@ dependencies = [
"hyper",
"hyper-util",
"pin-project-lite",
"tokio 1.47.1",
"tokio 1.48.0",
"tower-service",
]
@@ -2373,17 +2342,6 @@ dependencies = [
"rustversion",
]
[[package]]
name = "io-uring"
version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b"
dependencies = [
"bitflags 2.9.4",
"cfg-if 1.0.3",
"libc",
]
[[package]]
name = "iovec"
version = "0.1.4"
@@ -2529,7 +2487,7 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"libc",
"redox_syscall 0.5.17",
]
@@ -2760,9 +2718,9 @@ dependencies = [
[[package]]
name = "mockall"
version = "0.13.1"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2"
checksum = "f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b"
dependencies = [
"cfg-if 1.0.3",
"downcast",
@@ -2774,9 +2732,9 @@ dependencies = [
[[package]]
name = "mockall_derive"
version = "0.13.1"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898"
checksum = "ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf"
dependencies = [
"cfg-if 1.0.3",
"proc-macro2",
@@ -3003,15 +2961,6 @@ dependencies = [
"url",
]
[[package]]
name = "object"
version = "0.36.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
dependencies = [
"memchr",
]
[[package]]
name = "once_cell"
version = "1.21.3"
@@ -3024,7 +2973,7 @@ version = "0.10.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"cfg-if 1.0.3",
"foreign-types",
"libc",
@@ -3078,7 +3027,7 @@ version = "0.81.1"
dependencies = [
"anyhow",
"bevy_ecs",
"bitflags 2.9.4",
"bitflags 2.10.0",
"circular-buffer",
"glam 0.30.5",
"libc",
@@ -3122,7 +3071,7 @@ dependencies = [
"axum-cookie",
"axum-test",
"bon",
"bytes 1.10.1",
"bytes 1.11.0",
"chrono",
"cookie",
"dashmap",
@@ -3145,7 +3094,7 @@ dependencies = [
"sqlx",
"testcontainers",
"time",
"tokio 1.47.1",
"tokio 1.48.0",
"tower-http",
"tracing",
"tracing-futures",
@@ -3399,7 +3348,7 @@ version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"crc32fast",
"fdeflate",
"flate2",
@@ -3538,7 +3487,7 @@ version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"prost-derive",
]
@@ -3604,7 +3553,7 @@ version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"cfg_aliases",
"pin-project-lite",
"quinn-proto",
@@ -3613,7 +3562,7 @@ dependencies = [
"rustls",
"socket2 0.6.0",
"thiserror 2.0.16",
"tokio 1.47.1",
"tokio 1.48.0",
"tracing",
"web-time",
]
@@ -3624,7 +3573,7 @@ version = "0.11.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"getrandom 0.3.3",
"lru-slab",
"rand 0.9.2",
@@ -3818,7 +3767,7 @@ version = "0.5.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
]
[[package]]
@@ -3877,7 +3826,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb"
dependencies = [
"base64 0.22.1",
"bytes 1.10.1",
"bytes 1.11.0",
"encoding_rs",
"futures-core",
"h2",
@@ -3901,7 +3850,7 @@ dependencies = [
"serde_json",
"serde_urlencoded",
"sync_wrapper",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-native-tls",
"tokio-rustls",
"tower",
@@ -3965,9 +3914,9 @@ dependencies = [
[[package]]
name = "rust-embed"
version = "8.7.2"
version = "8.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "025908b8682a26ba8d12f6f2d66b987584a4a87bc024abc5bbc12553a8cd178a"
checksum = "947d7f3fad52b283d261c4c99a084937e2fe492248cb9a68a8435a861b8798ca"
dependencies = [
"rust-embed-impl",
"rust-embed-utils",
@@ -3976,9 +3925,9 @@ dependencies = [
[[package]]
name = "rust-embed-impl"
version = "8.7.2"
version = "8.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6065f1a4392b71819ec1ea1df1120673418bf386f50de1d6f54204d836d4349c"
checksum = "5fa2c8c9e8711e10f9c4fd2d64317ef13feaab820a4c51541f1a8c8e2e851ab2"
dependencies = [
"proc-macro2",
"quote",
@@ -3989,9 +3938,9 @@ dependencies = [
[[package]]
name = "rust-embed-utils"
version = "8.7.2"
version = "8.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6cc0c81648b20b70c491ff8cce00c1c3b223bb8ed2b5d41f0e54c6c4c0a3594"
checksum = "60b161f275cb337fe0a44d924a5f4df0ed69c2c39519858f931ce61c779d3475"
dependencies = [
"sha2",
"walkdir",
@@ -4013,7 +3962,7 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c839d037155ebc06a571e305af66ff9fd9063a6e662447051737e1ac75beea41"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"futures-core",
"futures-util",
"http",
@@ -4022,12 +3971,6 @@ dependencies = [
"thiserror 2.0.16",
]
[[package]]
name = "rustc-demangle"
version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace"
[[package]]
name = "rustc-hash"
version = "2.1.1"
@@ -4049,7 +3992,7 @@ version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"errno",
"libc",
"linux-raw-sys",
@@ -4127,7 +4070,7 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65bc94b580d0f5a6b7a2d604e597513d3c673154b52ddeccd1d5c32360d945ee"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"rxml_validation",
]
@@ -4154,7 +4097,7 @@ checksum = "2fd8d44de9045104205a93dcfe3525889df62af2d2db6d95ccb44663733b8832"
dependencies = [
"aws-region",
"base64 0.22.1",
"bytes 1.10.1",
"bytes 1.11.0",
"femlol-aws-creds",
"futures 0.3.31",
"hex",
@@ -4175,7 +4118,7 @@ dependencies = [
"strum_macros",
"thiserror 2.0.16",
"time",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-stream",
"tokio-util",
"url",
@@ -4260,7 +4203,7 @@ version = "2.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"core-foundation 0.9.4",
"core-foundation-sys",
"libc",
@@ -4273,7 +4216,7 @@ version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60b369d18893388b345804dc0007963c99b7d665ae71d275812d828c6f089640"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"core-foundation 0.10.1",
"core-foundation-sys",
"libc",
@@ -4313,9 +4256,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
version = "1.0.225"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d"
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
dependencies = [
"serde_core",
"serde_derive",
@@ -4323,18 +4266,18 @@ dependencies = [
[[package]]
name = "serde_core"
version = "1.0.225"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383"
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.225"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516"
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
@@ -4618,7 +4561,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
dependencies = [
"base64 0.22.1",
"bytes 1.10.1",
"bytes 1.11.0",
"chrono",
"crc",
"crossbeam-queue 0.3.12",
@@ -4641,7 +4584,7 @@ dependencies = [
"sha2",
"smallvec 1.15.1",
"thiserror 2.0.16",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-stream",
"tracing",
"url",
@@ -4682,7 +4625,7 @@ dependencies = [
"sqlx-postgres",
"sqlx-sqlite",
"syn",
"tokio 1.47.1",
"tokio 1.48.0",
"url",
]
@@ -4694,9 +4637,9 @@ checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526"
dependencies = [
"atoi",
"base64 0.22.1",
"bitflags 2.9.4",
"bitflags 2.10.0",
"byteorder",
"bytes 1.10.1",
"bytes 1.11.0",
"chrono",
"crc",
"digest",
@@ -4737,7 +4680,7 @@ checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
dependencies = [
"atoi",
"base64 0.22.1",
"bitflags 2.9.4",
"bitflags 2.10.0",
"byteorder",
"chrono",
"crc",
@@ -4905,7 +4848,7 @@ version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"core-foundation 0.9.4",
"system-configuration-sys",
]
@@ -4967,7 +4910,7 @@ dependencies = [
"async-trait",
"bollard",
"bollard-stubs",
"bytes 1.10.1",
"bytes 1.11.0",
"docker_credential",
"either",
"etcetera 0.10.0",
@@ -4980,7 +4923,7 @@ dependencies = [
"serde_json",
"serde_with",
"thiserror 2.0.16",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-stream",
"tokio-tar",
"tokio-util",
@@ -5147,22 +5090,19 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.47.1"
version = "1.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038"
checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408"
dependencies = [
"backtrace",
"bytes 1.10.1",
"io-uring",
"bytes 1.11.0",
"libc",
"mio 1.0.4",
"parking_lot 0.12.4",
"pin-project-lite",
"signal-hook-registry",
"slab",
"socket2 0.6.0",
"tokio-macros",
"windows-sys 0.59.0",
"windows-sys 0.61.0",
]
[[package]]
@@ -5220,9 +5160,9 @@ dependencies = [
[[package]]
name = "tokio-macros"
version = "2.5.0"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
dependencies = [
"proc-macro2",
"quote",
@@ -5236,7 +5176,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
dependencies = [
"native-tls",
"tokio 1.47.1",
"tokio 1.48.0",
]
[[package]]
@@ -5265,7 +5205,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
dependencies = [
"rustls",
"tokio 1.47.1",
"tokio 1.48.0",
]
[[package]]
@@ -5276,7 +5216,7 @@ checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
dependencies = [
"futures-core",
"pin-project-lite",
"tokio 1.47.1",
"tokio 1.48.0",
]
[[package]]
@@ -5299,7 +5239,7 @@ dependencies = [
"futures-core",
"libc",
"redox_syscall 0.3.5",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-stream",
"xattr",
]
@@ -5386,11 +5326,11 @@ version = "0.7.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5"
dependencies = [
"bytes 1.10.1",
"bytes 1.11.0",
"futures-core",
"futures-sink",
"pin-project-lite",
"tokio 1.47.1",
"tokio 1.48.0",
]
[[package]]
@@ -5436,7 +5376,7 @@ dependencies = [
"async-trait",
"axum",
"base64 0.22.1",
"bytes 1.10.1",
"bytes 1.11.0",
"h2",
"http",
"http-body",
@@ -5448,7 +5388,7 @@ dependencies = [
"pin-project",
"prost",
"socket2 0.5.10",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-stream",
"tower",
"tower-layer",
@@ -5468,7 +5408,7 @@ dependencies = [
"pin-project-lite",
"slab",
"sync_wrapper",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-util",
"tower-layer",
"tower-service",
@@ -5481,8 +5421,8 @@ version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
dependencies = [
"bitflags 2.9.4",
"bytes 1.10.1",
"bitflags 2.10.0",
"bytes 1.11.0",
"futures-core",
"futures-util",
"http",
@@ -5495,7 +5435,7 @@ dependencies = [
"mime_guess",
"percent-encoding",
"pin-project-lite",
"tokio 1.47.1",
"tokio 1.48.0",
"tokio-util",
"tower",
"tower-layer",
@@ -5985,7 +5925,7 @@ version = "24.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c"
dependencies = [
"bitflags 2.9.4",
"bitflags 2.10.0",
"js-sys",
"log",
"serde",

View File

@@ -52,7 +52,7 @@ push:
# Create a postgres container for the server
server-postgres:
bun run .scripts/postgres.ts
bun run pacman-server/scripts/postgres.ts
# Build the server image
server-image:

View File

@@ -2,7 +2,7 @@
<!-- markdownlint-disable MD041 -->
<div align="center">
<img src="assets/banner.png" alt="Pac-Man Banner Screenshot">
<img src=".github/assets/banner.png" alt="Pac-Man Banner Screenshot">
</div>
# Pac-Man
@@ -49,16 +49,16 @@ However, every commit has build artifacts, so you can grab the [latest build art
## Screenshots
<div align="center">
<img src="assets/screenshots/0.png" alt="Screenshot 0 - Starting Game">
<img src=".github/assets/screenshots/0.png" alt="Screenshot 0 - Starting Game">
<p><em>Starting a new game</em></p>
<img src="assets/screenshots/1.png" alt="Screenshot 1 - Eating Dots">
<img src=".github/assets/screenshots/1.png" alt="Screenshot 1 - Eating Dots">
<p><em>Pac-Man collecting dots and avoiding ghosts</em></p>
<img src="assets/screenshots/2.png" alt="Screenshot 2 - Game Over">
<img src=".github/assets/screenshots/2.png" alt="Screenshot 2 - Game Over">
<p><em>Game over screen after losing all lives</em></p>
<img src="assets/screenshots/3.png" alt="Screenshot 3 - Debug Mode">
<img src=".github/assets/screenshots/3.png" alt="Screenshot 3 - Debug Mode">
<p><em>Debug mode showing hitboxes, node graph, and performance details.</em></p>
</div>

View File

@@ -51,7 +51,7 @@ s3-tokio = { version = "0.39.6", default-features = false }
rustls = { version = "0.23", features = ["ring"] }
image = { version = "0.25", features = ["png", "jpeg"] }
sha2 = "0.10"
mockall = "0.13.1"
mockall = "0.14.0"
# validator = { version = "0.16", features = ["derive"] }
[dev-dependencies]
@@ -64,7 +64,7 @@ anyhow = "1"
axum-test = "18.1.0"
pretty_assertions = "1.4.1"
testcontainers = "0.25.0"
bon = "3.7.2"
bon = "3.8.1"
cookie = "0.18.1"
[lints.rust]

View File

@@ -28,9 +28,9 @@ time = { version = "0.3.43", features = ["formatting", "macros"] }
thiserror = "2.0.16"
anyhow = "1.0"
smallvec = "1.15.1"
bitflags = "2.9.4"
bitflags = "2.10.0"
micromap = "0.1.0"
circular-buffer = "=1.1.0"
circular-buffer = "=1.2.0"
parking_lot = "0.12.3"
strum = "0.27.2"
strum_macros = "0.27.2"
@@ -50,7 +50,7 @@ windows-sys = { version = "0.61.0", features = ["Win32_System_Console"] }
# On desktop platforms, build SDL2 with cargo-vcpkg
sdl2 = { version = "0.38", default-features = false, features = ["image", "ttf", "gfx", "mixer", "unsafe_textures", "static-link", "use-vcpkg"] }
rand = { version = "0.9.2", default-features = false, features = ["thread_rng"] }
rust-embed = "8.7.2"
rust-embed = "8.9.0"
spin_sleep = "1.3.3"
# Browser-specific dependencies