Compare commits

..
Author SHA1 Message Date
Nils Andreas Svee 1967423305 ci: add Dockerfile and Gitea Actions workflow for irtt-server
Introduce a multi-platform build pipeline to automate the publication of a minimal, statically linked irtt-server image to Gitea and GHCR.
2026-08-25 00:36:05 +07:00
6 changed files with 10 additions and 30 deletions

No files matched your search

+5 -8
View File
@@ -48,11 +48,10 @@ jobs:
uses: docker/login-action@v3
with:
registry: ${{ env.GITEA_REGISTRY }}
# The automatic per-job token comes back unauthorized for package
# writes on this instance, so use a PAT (scope: write:package) instead.
# (Secret names can't start with GITEA_/GITHUB_, hence REGISTRY_*.)
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
username: ${{ github.actor }}
# Gitea's per-job token; grant it package write access, or swap
# this for a PAT secret if your instance doesn't wire that up.
password: ${{ secrets.GITHUB_TOKEN }}
- name: Log in to GHCR
uses: docker/login-action@v3
@@ -85,10 +84,8 @@ jobs:
- name: Install crane
run: |
mkdir -p "${HOME}/.local/bin"
curl -sL "https://github.com/google/go-containerregistry/releases/download/${CRANE_VERSION}/go-containerregistry_Linux_x86_64.tar.gz" \
| tar -xz -C "${HOME}/.local/bin" crane
echo "${HOME}/.local/bin" >> "$GITHUB_PATH"
| tar -xz -C /usr/local/bin crane
- name: Duplicate image to GHCR (same digest, no rebuild)
run: |
-17
View File
@@ -50,12 +50,6 @@ release. The format is loosely based on
## irtt-server
### 0.5.2
#### Changed
- `parse_hex_pattern`'s chunking now uses the stable `slice::as_chunks` API instead of `chunks_exact`; no behavior change.
### 0.5.1
#### Added
@@ -102,17 +96,6 @@ release. The format is loosely based on
## irtt-rs
### 0.6.2
#### Added
- Every `irtt-server` applet flag can now also be set via an `IRTT_SERVER_*` environment variable (`IRTT_SERVER_BIND`, `IRTT_SERVER_HMAC`, `IRTT_SERVER_MAX_SESSIONS`, `IRTT_SERVER_MAX_PACKET_LENGTH`, `IRTT_SERVER_MIN_INTERVAL`, `IRTT_SERVER_BURST`, `IRTT_SERVER_IDLE_TIMEOUT`, `IRTT_SERVER_MAX_DURATION`, `IRTT_SERVER_TIMESTAMP_ALLOWANCE`, `IRTT_SERVER_NO_DSCP`), for deployments that configure by environment (containers, orchestrators) instead of command-line flags. An explicit flag on the command line still overrides the corresponding variable.
- A `Dockerfile` and Gitea Actions workflow publishing a minimal, statically linked `irtt-server` container image (cross-compiled for `amd64`/`arm64` via `tonistiigi/xx`, no QEMU) to this project's Gitea and GHCR container registries.
#### Changed
- The bundled `ctrlc` dependency now enables its `termination` feature, so the applet also handles `SIGTERM` (not just `SIGINT`) for graceful shutdown.
### 0.6.1
#### Added
Generated
+2 -2
View File
@@ -749,7 +749,7 @@ dependencies = [
[[package]]
name = "irtt-rs"
version = "0.6.2"
version = "0.6.1"
dependencies = [
"clap",
"crossterm",
@@ -764,7 +764,7 @@ dependencies = [
[[package]]
name = "irtt-server"
version = "0.5.2"
version = "0.5.1"
dependencies = [
"getrandom 0.4.3",
"irtt-proto",
+1 -1
View File
@@ -19,7 +19,7 @@ homepage = "https://github.com/Lochnair/irtt-rs"
[workspace.dependencies]
irtt-proto = { version = "0.5.0", path = "crates/irtt-proto" }
irtt-client = { version = "0.5.0", path = "crates/irtt-client" }
irtt-server = { version = "0.5.2", path = "crates/irtt-server" }
irtt-server = { version = "0.5.1", path = "crates/irtt-server" }
irtt-stats = { version = "0.5.0", path = "crates/irtt-stats" }
[profile.release]
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "irtt-rs"
version = "0.6.2"
version = "0.6.1"
description = "IRTT-compatible client, TUI, and server applications"
edition.workspace = true
license.workspace = true
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "irtt-server"
version = "0.5.2"
version = "0.5.1"
description = "IRTT-compatible Rust server library"
edition.workspace = true
license.workspace = true