Compare commits

...

4 Commits

Author SHA1 Message Date
dependabot[bot]
2d7f7df2c4 chore(deps): bump the rust-patches group across 1 directory with 18 updates
Bumps the rust-patches group with 18 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [glam](https://github.com/bitshifter/glam-rs) | `0.30.5` | `0.30.9` |
| [tracing](https://github.com/tokio-rs/tracing) | `0.1.41` | `0.1.43` |
| [tracing-subscriber](https://github.com/tokio-rs/tracing) | `0.3.20` | `0.3.22` |
| [time](https://github.com/time-rs/time) | `0.3.43` | `0.3.44` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.16` | `2.0.17` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.99` | `1.0.100` |
| [parking_lot](https://github.com/Amanieu/parking_lot) | `0.12.4` | `0.12.5` |
| [windows](https://github.com/microsoft/windows-rs) | `0.62.0` | `0.62.1` |
| [windows-sys](https://github.com/microsoft/windows-rs) | `0.61.0` | `0.61.2` |
| [libc](https://github.com/rust-lang/libc) | `0.2.175` | `0.2.177` |
| [serde](https://github.com/serde-rs/serde) | `1.0.225` | `1.0.228` |
| [axum](https://github.com/tokio-rs/axum) | `0.8.4` | `0.8.7` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.23` | `0.12.24` |
| [axum-cookie](https://github.com/magwoo/axum-cookie) | `0.2.3` | `0.2.4` |
| [tower-http](https://github.com/tower-rs/tower-http) | `0.6.6` | `0.6.7` |
| [rustls](https://github.com/rustls/rustls) | `0.23.31` | `0.23.35` |
| [image](https://github.com/image-rs/image) | `0.25.8` | `0.25.9` |
| [hyper-util](https://github.com/hyperium/hyper-util) | `0.1.17` | `0.1.18` |



Updates `glam` from 0.30.5 to 0.30.9
- [Changelog](https://github.com/bitshifter/glam-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitshifter/glam-rs/compare/0.30.5...0.30.9)

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

Updates `tracing-subscriber` from 0.3.20 to 0.3.22
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.20...tracing-subscriber-0.3.22)

Updates `time` from 0.3.43 to 0.3.44
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.43...v0.3.44)

Updates `thiserror` from 2.0.16 to 2.0.17
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.16...2.0.17)

Updates `anyhow` from 1.0.99 to 1.0.100
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.99...1.0.100)

Updates `parking_lot` from 0.12.4 to 0.12.5
- [Release notes](https://github.com/Amanieu/parking_lot/releases)
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Amanieu/parking_lot/compare/parking_lot-v0.12.4...parking_lot-v0.12.5)

Updates `windows` from 0.62.0 to 0.62.1
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/commits)

Updates `windows-sys` from 0.61.0 to 0.61.2
- [Release notes](https://github.com/microsoft/windows-rs/releases)
- [Commits](https://github.com/microsoft/windows-rs/commits)

Updates `libc` from 0.2.175 to 0.2.177
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.177/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.175...0.2.177)

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 `axum` from 0.8.4 to 0.8.7
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/compare/axum-v0.8.4...axum-v0.8.7)

Updates `reqwest` from 0.12.23 to 0.12.24
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24)

Updates `axum-cookie` from 0.2.3 to 0.2.4
- [Release notes](https://github.com/magwoo/axum-cookie/releases)
- [Commits](https://github.com/magwoo/axum-cookie/commits/0.2.4)

Updates `tower-http` from 0.6.6 to 0.6.7
- [Release notes](https://github.com/tower-rs/tower-http/releases)
- [Commits](https://github.com/tower-rs/tower-http/compare/tower-http-0.6.6...tower-http-0.6.7)

Updates `rustls` from 0.23.31 to 0.23.35
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.31...v/0.23.35)

Updates `image` from 0.25.8 to 0.25.9
- [Changelog](https://github.com/image-rs/image/blob/main/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.25.8...v0.25.9)

Updates `hyper-util` from 0.1.17 to 0.1.18
- [Release notes](https://github.com/hyperium/hyper-util/releases)
- [Changelog](https://github.com/hyperium/hyper-util/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper-util/compare/v0.1.17...v0.1.18)

---
updated-dependencies:
- dependency-name: glam
  dependency-version: 0.30.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: tracing
  dependency-version: 0.1.43
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: tracing-subscriber
  dependency-version: 0.3.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: time
  dependency-version: 0.3.44
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: thiserror
  dependency-version: 2.0.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: anyhow
  dependency-version: 1.0.100
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: parking_lot
  dependency-version: 0.12.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: windows
  dependency-version: 0.62.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: windows-sys
  dependency-version: 0.61.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: libc
  dependency-version: 0.2.177
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: serde
  dependency-version: 1.0.228
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: axum
  dependency-version: 0.8.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: reqwest
  dependency-version: 0.12.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: axum-cookie
  dependency-version: 0.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: tower-http
  dependency-version: 0.6.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: rustls
  dependency-version: 0.23.35
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: image
  dependency-version: 0.25.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
- dependency-name: hyper-util
  dependency-version: 0.1.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-patches
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 00:30:25 +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
16 changed files with 266 additions and 236 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

@@ -38,7 +38,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Setup Rust Toolchain
uses: dtolnay/rust-toolchain@master

View File

@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master

View File

@@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
@@ -56,6 +56,14 @@ 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

View File

@@ -22,7 +22,7 @@ jobs:
digest: ${{ steps.docker_build.outputs.digest }}
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Setup Emscripten SDK
uses: pyodide/setup-emsdk@v15
@@ -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

View File

@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master

439
Cargo.lock generated
View File

File diff suppressed because it is too large Load Diff

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

@@ -41,8 +41,8 @@ dashmap = "6.1"
axum-cookie = "0.2"
async-trait = "0.1"
jsonwebtoken = { version = "9.3", default-features = false }
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.20", features = ["env-filter", "json"] }
tracing = "0.1.43"
tracing-subscriber = { version = "0.3.22", features = ["env-filter", "json"] }
tracing-futures = { version = "0.2.5", features = ["tokio"] }
tower-http = { version = "0.6", features = ["trace", "fs", "normalize-path"] }
time = { version = "0.3", features = ["macros", "formatting"] }

View File

@@ -19,19 +19,19 @@ default-run = "pacman"
[dependencies]
bevy_ecs = "0.16.1"
glam = "0.30.5"
glam = "0.30.9"
pathfinding = "4.14"
tracing = { version = "0.1.41", features = ["max_level_trace", "release_max_level_debug"]}
tracing = { version = "0.1.43", features = ["max_level_trace", "release_max_level_debug"]}
tracing-error = "0.2.0"
tracing-subscriber = {version = "0.3.20", features = ["env-filter"]}
time = { version = "0.3.43", features = ["formatting", "macros"] }
thiserror = "2.0.16"
tracing-subscriber = {version = "0.3.22", features = ["env-filter"]}
time = { version = "0.3.44", features = ["formatting", "macros"] }
thiserror = "2.0.17"
anyhow = "1.0"
smallvec = "1.15.1"
bitflags = "2.9.4"
micromap = "0.1.0"
circular-buffer = "=1.1.0"
parking_lot = "0.12.3"
parking_lot = "0.12.5"
strum = "0.27.2"
strum_macros = "0.27.2"
thousands = "0.2.0"
@@ -42,8 +42,8 @@ phf = { version = "0.13.1", features = ["macros"] }
# Windows-specific dependencies
[target.'cfg(windows)'.dependencies]
# Used for customizing console output on Windows; both are required due to the `windows` crate having poor Result handling with `GetStdHandle`.
windows = { version = "0.62.0", features = ["Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Console"] }
windows-sys = { version = "0.61.0", features = ["Win32_System_Console"] }
windows = { version = "0.62.1", features = ["Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Console"] }
windows-sys = { version = "0.61.2", features = ["Win32_System_Console"] }
# Desktop-specific dependencies
[target.'cfg(not(target_os = "emscripten"))'.dependencies]
@@ -59,7 +59,7 @@ spin_sleep = "1.3.3"
sdl2 = { version = "0.38", default-features = false, features = ["image", "ttf", "gfx", "mixer", "unsafe_textures"] }
# TODO: Document why Emscripten cannot use `os_rng`.
rand = { version = "0.9.2", default-features = false, features = ["small_rng", "os_rng"] }
libc = "0.2.175" # TODO: Describe why this is required.
libc = "0.2.177" # TODO: Describe why this is required.
[dev-dependencies]
pretty_assertions = "1.4.1"
@@ -67,7 +67,7 @@ speculoos = "0.13.0"
[build-dependencies]
phf = { version = "0.13.1", features = ["macros"] }
serde = { version = "1.0.225", features = ["derive"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
# phf generates runtime code which machete will not detect