mirror of
https://github.com/tribufu/rust-gamedig
synced 2026-06-01 09:42:41 +00:00
chore: maintenance (#233)
This commit is contained in:
commit
c04f442bbe
16 changed files with 187 additions and 196 deletions
6
.github/workflows/audit.yml
vendored
6
.github/workflows/audit.yml
vendored
|
|
@ -3,8 +3,8 @@ name: Security audit
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
- '**/Cargo.toml'
|
- "**/Cargo.toml"
|
||||||
- '**/Cargo.lock'
|
- "**/Cargo.lock"
|
||||||
jobs:
|
jobs:
|
||||||
security_audit:
|
security_audit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -15,6 +15,6 @@ jobs:
|
||||||
run: cargo generate-lockfile
|
run: cargo generate-lockfile
|
||||||
|
|
||||||
- name: Audit Check
|
- name: Audit Check
|
||||||
- uses: rustsec/audit-check@v2.0.0
|
uses: rustsec/audit-check@v2.0.0
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
|
||||||
18
.github/workflows/ci.yml
vendored
18
.github/workflows/ci.yml
vendored
|
|
@ -3,14 +3,14 @@ name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ "main" ]
|
branches: ["main"]
|
||||||
paths:
|
paths:
|
||||||
- "**.rs" # Any rust file
|
- "**.rs" # Any rust file
|
||||||
- "**/Cargo.toml" # Any Cargo.toml
|
- "**/Cargo.toml" # Any Cargo.toml
|
||||||
- ".rustfmt.toml"
|
- ".rustfmt.toml"
|
||||||
- ".github/workflows/ci.yml" # This action
|
- ".github/workflows/ci.yml" # This action
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ "main" ]
|
branches: ["main"]
|
||||||
paths:
|
paths:
|
||||||
- "**.rs" # Any rust file
|
- "**.rs" # Any rust file
|
||||||
- "**/Cargo.toml" # Any Cargo.toml
|
- "**/Cargo.toml" # Any Cargo.toml
|
||||||
|
|
@ -51,7 +51,7 @@ jobs:
|
||||||
# If we were able to build then test different feature combinations compile with the library
|
# If we were able to build then test different feature combinations compile with the library
|
||||||
build_lib:
|
build_lib:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [ "build_first" ]
|
needs: ["build_first"]
|
||||||
# Only run if library files were modified
|
# Only run if library files were modified
|
||||||
if: ${{ needs.build_first.outputs.lib == 'true' }}
|
if: ${{ needs.build_first.outputs.lib == 'true' }}
|
||||||
strategy:
|
strategy:
|
||||||
|
|
@ -84,7 +84,7 @@ jobs:
|
||||||
# If we were able to build then test different feature combinations compile with the CLI
|
# If we were able to build then test different feature combinations compile with the CLI
|
||||||
build_cli:
|
build_cli:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [ "build_first" ]
|
needs: ["build_first"]
|
||||||
# Only run if CLI files were modified
|
# Only run if CLI files were modified
|
||||||
if: ${{ needs.build_first.outputs.cli == 'true' }}
|
if: ${{ needs.build_first.outputs.cli == 'true' }}
|
||||||
strategy:
|
strategy:
|
||||||
|
|
@ -104,13 +104,13 @@ jobs:
|
||||||
cache-targets: false
|
cache-targets: false
|
||||||
save-if: false
|
save-if: false
|
||||||
- name: Run Build
|
- name: Run Build
|
||||||
run: cargo check -p gamedig-cli --verbose --bins --examples --tests ${{ matrix.build_type }}
|
run: cargo check -p gamedig_cli --verbose --bins --examples --tests ${{ matrix.build_type }}
|
||||||
|
|
||||||
# If we were able to build then test the MSRV compiles (for the libary as not enforced for CLI)
|
# If we were able to build then test the MSRV compiles (for the libary as not enforced for CLI)
|
||||||
build_msrv:
|
build_msrv:
|
||||||
name: "Build using MSRV (lib only)"
|
name: "Build using MSRV (lib only)"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [ "build_first" ]
|
needs: ["build_first"]
|
||||||
# Only run if library files were modified
|
# Only run if library files were modified
|
||||||
if: ${{ needs.build_first.outputs.lib == 'true' }}
|
if: ${{ needs.build_first.outputs.lib == 'true' }}
|
||||||
# Unfortunate hard-coding of rustup directory so that rust-cache caches it
|
# Unfortunate hard-coding of rustup directory so that rust-cache caches it
|
||||||
|
|
@ -128,7 +128,7 @@ jobs:
|
||||||
- name: Install MSRV
|
- name: Install MSRV
|
||||||
uses: actions-rs/toolchain@v1
|
uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
toolchain: 1.65.0
|
toolchain: 1.71.1
|
||||||
override: true
|
override: true
|
||||||
- name: Run MSRV
|
- name: Run MSRV
|
||||||
run: cargo check -p gamedig
|
run: cargo check -p gamedig
|
||||||
|
|
@ -161,7 +161,7 @@ jobs:
|
||||||
clippy:
|
clippy:
|
||||||
name: "Run clippy tests"
|
name: "Run clippy tests"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [ "build_first" ]
|
needs: ["build_first"]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
@ -185,7 +185,7 @@ jobs:
|
||||||
doc:
|
doc:
|
||||||
name: "Check rustdoc"
|
name: "Check rustdoc"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [ "build_first" ]
|
needs: ["build_first"]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
|
||||||
2
.github/workflows/labeler.yml
vendored
2
.github/workflows/labeler.yml
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
name: "Pull Request Labeler"
|
name: "Pull Request Labeler"
|
||||||
on:
|
on:
|
||||||
- pull_request_target
|
- pull_request_target
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage:
|
triage:
|
||||||
|
|
|
||||||
2
.github/workflows/node-badge.yml
vendored
2
.github/workflows/node-badge.yml
vendored
|
|
@ -10,7 +10,7 @@ on:
|
||||||
branches:
|
branches:
|
||||||
- "main" # Limit badge commits to only happen on the main branch
|
- "main" # Limit badge commits to only happen on the main branch
|
||||||
schedule: # This runs on the default branch only, it could still trigger on PRs but only if they develop on default branch and enable actions.
|
schedule: # This runs on the default branch only, it could still trigger on PRs but only if they develop on default branch and enable actions.
|
||||||
- cron: '34 3 * * 2' # Update once a week in case node-gamedig has changed
|
- cron: "34 3 * * 2" # Update once a week in case node-gamedig has changed
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
|
||||||
35
.github/workflows/release.yml
vendored
35
.github/workflows/release.yml
vendored
|
|
@ -1,35 +0,0 @@
|
||||||
name: Release
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [created]
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
if: startsWith(github.event.release.tag_name, 'cli-')
|
|
||||||
name: Release ${{ matrix.target }}
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- target: x86_64-pc-windows-gnu
|
|
||||||
archive: zip
|
|
||||||
- target: x86_64-unknown-linux-musl
|
|
||||||
archive: tar.gz tar.xz tar.zst
|
|
||||||
- target: x86_64-apple-darwin
|
|
||||||
archive: zip
|
|
||||||
- target: wasm32-wasi
|
|
||||||
archive: zip tar.gz
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Compile and release
|
|
||||||
uses: rust-build/rust-build.action@v1.4.5
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
RUSTTARGET: ${{ matrix.target }}
|
|
||||||
ARCHIVE_TYPES: ${{ matrix.archive }}
|
|
||||||
SRC_DIR: ./crates/cli
|
|
||||||
21
.github/workflows/scripts/node-badge.mjs
vendored
21
.github/workflows/scripts/node-badge.mjs
vendored
|
|
@ -12,7 +12,7 @@ const setOutput = (key, value) => {
|
||||||
const file = openSync(process.env.GITHUB_OUTPUT, "a");
|
const file = openSync(process.env.GITHUB_OUTPUT, "a");
|
||||||
writeSync(file, `${key}=${value}\n`);
|
writeSync(file, `${key}=${value}\n`);
|
||||||
closeSync(file);
|
closeSync(file);
|
||||||
}
|
};
|
||||||
|
|
||||||
// Get node IDs
|
// Get node IDs
|
||||||
// NOTE: Here we directly import from games to avoid loading
|
// NOTE: Here we directly import from games to avoid loading
|
||||||
|
|
@ -25,7 +25,13 @@ const node_total = node_ids.size;
|
||||||
|
|
||||||
// Get rust IDs
|
// Get rust IDs
|
||||||
|
|
||||||
const command = spawnSync("cargo", ["run", "-p", "gamedig", "--example", "generic"]);
|
const command = spawnSync("cargo", [
|
||||||
|
"run",
|
||||||
|
"-p",
|
||||||
|
"gamedig",
|
||||||
|
"--example",
|
||||||
|
"generic",
|
||||||
|
]);
|
||||||
|
|
||||||
if (command.status !== 0) {
|
if (command.status !== 0) {
|
||||||
console.error(command.stderr.toString("utf8"));
|
console.error(command.stderr.toString("utf8"));
|
||||||
|
|
@ -33,7 +39,12 @@ if (command.status !== 0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const rust_ids_pretty = command.stdout.toString("utf8");
|
const rust_ids_pretty = command.stdout.toString("utf8");
|
||||||
const rust_ids = new Set(rust_ids_pretty.split("\n").map(line => line.split("\t")[0]).filter(id => id.length > 0));
|
const rust_ids = new Set(
|
||||||
|
rust_ids_pretty
|
||||||
|
.split("\n")
|
||||||
|
.map((line) => line.split("\t")[0])
|
||||||
|
.filter((id) => id.length > 0)
|
||||||
|
);
|
||||||
|
|
||||||
// Detect missing node IDs
|
// Detect missing node IDs
|
||||||
|
|
||||||
|
|
@ -46,7 +57,7 @@ for (const id of rust_ids) {
|
||||||
console.log("Node remains", node_ids);
|
console.log("Node remains", node_ids);
|
||||||
console.log("Rust remains", rust_ids);
|
console.log("Rust remains", rust_ids);
|
||||||
|
|
||||||
const percent = 1 - (node_ids.size / node_total);
|
const percent = 1 - node_ids.size / node_total;
|
||||||
|
|
||||||
// Output percent to 2 decimal places
|
// Output percent to 2 decimal places
|
||||||
setOutput("percent", Math.round(percent*10000)/100);
|
setOutput("percent", Math.round(percent * 10000) / 100);
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ repos:
|
||||||
language: system
|
language: system
|
||||||
files: '([.]rs|Cargo\.toml)$'
|
files: '([.]rs|Cargo\.toml)$'
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
entry: rustup run --install 1.65 cargo check -p gamedig
|
entry: rustup run --install 1.71.1 cargo check -p gamedig
|
||||||
|
|
||||||
- id: docs
|
- id: docs
|
||||||
name: Check rustdoc compiles
|
name: Check rustdoc compiles
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,8 @@
|
||||||
<a href="https://github.com/gamedig/node-gamedig">
|
<a href="https://github.com/gamedig/node-gamedig">
|
||||||
<img src="https://raw.githubusercontent.com/gamedig/rust-gamedig/main/.github/badges/node.svg" alt="Node-GameDig Game Coverage">
|
<img src="https://raw.githubusercontent.com/gamedig/rust-gamedig/main/.github/badges/node.svg" alt="Node-GameDig Game Coverage">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://deps.rs/crate/gamedig/0.5.1">
|
<a href="https://deps.rs/crate/gamedig">
|
||||||
<img src="https://deps.rs/crate/gamedig/0.5.1/status.svg" alt="Rust-GameDig Dependencies">
|
<img src="https://deps.rs/crate/gamedig/latest/status.svg" alt="Rust-GameDig Dependencies">
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -39,7 +39,7 @@ on Discord.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Minimum Supported Rust Version is `1.65.0` and the code is cross-platform.
|
Minimum Supported Rust Version is `1.71.1"` and the code is cross-platform.
|
||||||
|
|
||||||
Pick a game/service/protocol (check the [GAMES](GAMES.md), [SERVICES](SERVICES.md) and [PROTOCOLS](PROTOCOLS.md) files
|
Pick a game/service/protocol (check the [GAMES](GAMES.md), [SERVICES](SERVICES.md) and [PROTOCOLS](PROTOCOLS.md) files
|
||||||
to see the currently supported ones), provide the ip and the port (be aware that some game servers use a separate port
|
to see the currently supported ones), provide the ip and the port (be aware that some game servers use a separate port
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# MSRV (Minimum Supported Rust Version)
|
# MSRV (Minimum Supported Rust Version)
|
||||||
|
|
||||||
Current: `1.65.0`
|
Current: `1.71.1`
|
||||||
|
|
||||||
Places to update:
|
Places to update:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,17 @@
|
||||||
Who knows what the future holds...
|
Who knows what the future holds...
|
||||||
|
|
||||||
# 0.X.Y - DD/MM/YYYY
|
# X.Y.Z - DD/MM/YYYY
|
||||||
|
|
||||||
Nothing... yet.
|
Nothing... yet.
|
||||||
|
|
||||||
|
# 0.2.0 - 26/11/2024
|
||||||
|
|
||||||
|
### Breaking Changes:
|
||||||
|
|
||||||
|
- Restructured the release flow to be more consistent (GitHub releases will no longer be available, use cargo instead).
|
||||||
|
- Changed crate name from `gamedig-cli` to `gamedig_cli` to align with recommended naming conventions.
|
||||||
|
- The CLI now requires a minimum Rust version of `1.74.1`.
|
||||||
|
|
||||||
# 0.1.1 - 15/07/2024
|
# 0.1.1 - 15/07/2024
|
||||||
|
|
||||||
### Changes:
|
### Changes:
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ authors = [
|
||||||
]
|
]
|
||||||
description = "A command line interface for gamedig"
|
description = "A command line interface for gamedig"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
version = "0.1.1"
|
version = "0.2.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
default-run = "gamedig_cli"
|
default-run = "gamedig_cli"
|
||||||
homepage = "https://gamedig.github.io/"
|
homepage = "https://gamedig.github.io/"
|
||||||
|
|
@ -33,7 +33,7 @@ browser = ["dep:webbrowser"]
|
||||||
# Core Dependencies
|
# Core Dependencies
|
||||||
thiserror = "2.0.0"
|
thiserror = "2.0.0"
|
||||||
clap = { version = "4.5.4", default-features = false, features = ["derive"] }
|
clap = { version = "4.5.4", default-features = false, features = ["derive"] }
|
||||||
gamedig = { version = "0.5", default-features = false, features = [
|
gamedig = { version = "0.6", default-features = false, features = [
|
||||||
"clap",
|
"clap",
|
||||||
"games",
|
"games",
|
||||||
"game_defs",
|
"game_defs",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# rust-GameDig CLI
|
# Rust GameDig CLI
|
||||||
|
|
||||||
The official [rust-GameDig](https://crates.io/crates/gamedig_cli) Command Line Interface.
|
The official [rust-GameDig](https://crates.io/crates/gamedig) Command Line Interface.
|
||||||
|
|
||||||
[](https://github.com/gamedig/rust-gamedig/actions) [](https://github.com/gamedig/rust-gamedig/blob/main/LICENSE.md) [](https://github.com/gamedig/node-gamedig)
|
[](https://github.com/gamedig/rust-gamedig/actions) [](https://github.com/gamedig/rust-gamedig/blob/main/LICENSE.md) [](https://github.com/gamedig/node-gamedig)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,18 @@
|
||||||
Who knows what the future holds...
|
Who knows what the future holds...
|
||||||
|
|
||||||
# 0.X.Y - DD/MM/YYYY
|
# X.Y.Z - DD/MM/YYYY
|
||||||
|
|
||||||
|
# 0.6.0 - 26/11/2024
|
||||||
|
|
||||||
|
Breaking:
|
||||||
|
|
||||||
|
- MSRV is now `1.71.1` (was `1.65.0`), this is due to deps we rely on requiring a higher version on linux builds (`1.65.0` is 2+ years old).
|
||||||
|
|
||||||
Games:
|
Games:
|
||||||
|
|
||||||
- [Minetest](https://www.minetest.net/) support (available on the `tls`, `serde` and `services` features) (#218 by
|
- [Minetest](https://www.minetest.net/) support (available on the `tls`, `serde` and `services` features) (#218 by
|
||||||
@CosminPerRam).
|
@CosminPerRam).
|
||||||
|
- Fixed the forest game failing when host has the client steam id (#232 by @paul-hansen).
|
||||||
|
|
||||||
# 0.5.2 - 20/10/2024
|
# 0.5.2 - 20/10/2024
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "gamedig"
|
name = "gamedig"
|
||||||
version = "0.5.2"
|
version = "0.6.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = [
|
authors = [
|
||||||
"rust-GameDig contributors [https://github.com/gamedig/rust-gamedig/contributors]",
|
"rust-GameDig contributors [https://github.com/gamedig/rust-gamedig/contributors]",
|
||||||
|
|
@ -13,7 +13,7 @@ documentation = "https://docs.rs/gamedig/latest/gamedig/"
|
||||||
repository = "https://github.com/gamedig/rust-gamedig"
|
repository = "https://github.com/gamedig/rust-gamedig"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
keywords = ["server", "query", "game", "check", "status"]
|
keywords = ["server", "query", "game", "check", "status"]
|
||||||
rust-version = "1.65.0"
|
rust-version = "1.71.1"
|
||||||
categories = ["parser-implementations", "parsing", "network-programming", "encoding"]
|
categories = ["parser-implementations", "parsing", "network-programming", "encoding"]
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ on Discord.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Minimum Supported Rust Version is `1.65.0` and the code is cross-platform.
|
Minimum Supported Rust Version is `1.71.1` and the code is cross-platform.
|
||||||
|
|
||||||
Pick a game/service/protocol (check
|
Pick a game/service/protocol (check
|
||||||
the [GAMES](https://github.com/gamedig/rust-gamedig/blob/main/GAMES.md), [SERVICES](https://github.com/gamedig/rust-gamedig/blob/main/SERVICES.md)
|
the [GAMES](https://github.com/gamedig/rust-gamedig/blob/main/GAMES.md), [SERVICES](https://github.com/gamedig/rust-gamedig/blob/main/SERVICES.md)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue