mirror of
https://github.com/r3bo0tbx1/tor-guard-relay.git
synced 2026-04-06 00:32:04 +02:00
feat(v1.1.2): Alpine edge variant, dual CI, GHCR edge builds ✨🚀
- Add Dockerfile.edge 🐚🔧 - Add stable and edge CI matrix 🔁📦 - GHCR edge-only deployment 🟣📤 - SBOMs for both variants 📜🔍 - Tests, screenshots, logo 🧪🖼️ - Update docs and PR template 📝 - Remove dependabot.yml 🗑️
This commit is contained in:
45
.github/workflows/release.yml
vendored
45
.github/workflows/release.yml
vendored
@@ -112,7 +112,7 @@ jobs:
|
||||
suffix: "-edge"
|
||||
is_latest: "false"
|
||||
base: "Alpine edge"
|
||||
push_dockerhub: "false"
|
||||
push_dockerhub: "true"
|
||||
|
||||
steps:
|
||||
- name: 📥 Checkout Repository
|
||||
@@ -231,38 +231,51 @@ jobs:
|
||||
if [ "$BUILD_TYPE" = "release" ]; then
|
||||
# New release: Add special tags
|
||||
if [ "$IS_LATEST" = "true" ]; then
|
||||
# Stable variant gets :latest and :stable
|
||||
# Stable variant gets :latest
|
||||
TAGS+=("${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest")
|
||||
TAGS+=("${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:stable")
|
||||
else
|
||||
# Edge variant gets :edge only
|
||||
# Edge variant gets :edge
|
||||
TAGS+=("${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:edge")
|
||||
fi
|
||||
|
||||
# Add Docker Hub tags only for stable variant
|
||||
# Add Docker Hub tags
|
||||
if [ "$PUSH_DOCKERHUB" = "true" ]; then
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}")
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:latest")
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:stable")
|
||||
if [ "$IS_LATEST" = "true" ]; then
|
||||
# Stable: versioned tag + :latest
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}")
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:latest")
|
||||
else
|
||||
# Edge: only :edge (no versioned tag for Docker Hub)
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:edge")
|
||||
fi
|
||||
fi
|
||||
elif [ "$BUILD_TYPE" = "weekly" ]; then
|
||||
# Weekly rebuild: Update version tag with fresh packages
|
||||
if [ "$IS_LATEST" = "true" ]; then
|
||||
TAGS+=("${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest")
|
||||
TAGS+=("${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:stable")
|
||||
else
|
||||
TAGS+=("${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:edge")
|
||||
fi
|
||||
|
||||
if [ "$PUSH_DOCKERHUB" = "true" ]; then
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}")
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:latest")
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:stable")
|
||||
if [ "$IS_LATEST" = "true" ]; then
|
||||
# Stable: versioned tag + :latest
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}")
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:latest")
|
||||
else
|
||||
# Edge: only :edge (no versioned tag for Docker Hub)
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:edge")
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Manual/validated builds: version tag only
|
||||
if [ "$PUSH_DOCKERHUB" = "true" ]; then
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}${SUFFIX}")
|
||||
if [ "$IS_LATEST" = "true" ]; then
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:${VERSION}")
|
||||
else
|
||||
# Edge manual builds: only :edge for Docker Hub
|
||||
TAGS+=("${{ env.DOCKERHUB_IMAGE_NAME }}:edge")
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -459,12 +472,14 @@ jobs:
|
||||
echo "" >> release_notes.md
|
||||
echo "- Base: Alpine edge (bleeding edge)" >> release_notes.md
|
||||
echo "- ⚠️ **NOT recommended for production** - faster updates, less stable" >> release_notes.md
|
||||
echo "- Available on GHCR only" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
echo "\`\`\`bash" >> release_notes.md
|
||||
echo "# From GitHub Container Registry (GHCR)" >> release_notes.md
|
||||
echo "# From GitHub Container Registry (GHCR) - versioned + simple tags" >> release_notes.md
|
||||
echo "docker pull ${GHCR_IMAGE}:${VERSION}-edge" >> release_notes.md
|
||||
echo "docker pull ${GHCR_IMAGE}:edge" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
echo "# From Docker Hub - simple tag only" >> release_notes.md
|
||||
echo "docker pull ${DOCKERHUB_IMAGE}:edge" >> release_notes.md
|
||||
echo "\`\`\`" >> release_notes.md
|
||||
echo "" >> release_notes.md
|
||||
echo "### 📋 Software Bill of Materials (SBOM)" >> release_notes.md
|
||||
|
||||
@@ -16,7 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
---
|
||||
|
||||
## [1.1.2] - 2025-11-17
|
||||
## [1.1.2] - 2025-11-18
|
||||
|
||||
Add Alpine edge variant with dual-track build strategy 🏗️✅ - 🟢/⚠️
|
||||
|
||||
@@ -372,7 +372,7 @@ BREAKING CHANGES: None
|
||||
## 📊 Release Information
|
||||
|
||||
* **🎉 First Release:** v1.0.0 (November 1, 2025)
|
||||
* **📦 Current Stable:** v1.1.2 (November 17, 2025)
|
||||
* **📦 Current Stable:** v1.1.2 (November 18, 2025)
|
||||
* **🔗 Latest Release:** [GitHub Releases](https://github.com/r3bo0tbx1/tor-guard-relay/releases/latest)
|
||||
* **🐳 Docker Images:**
|
||||
|
||||
|
||||
11
README.md
11
README.md
@@ -160,7 +160,7 @@ docker pull r3bo0tbx1/onion-relay:1.1.2
|
||||
|
||||
# Pull from GHCR
|
||||
docker pull ghcr.io/r3bo0tbx1/onion-relay:latest
|
||||
docker pull ghcr.io/r3bo0tbx1/onion-relay:stable
|
||||
docker pull ghcr.io/r3bo0tbx1/onion-relay:1.1.2
|
||||
```
|
||||
|
||||
### Edge Variant (Testing Only)
|
||||
@@ -170,10 +170,13 @@ docker pull ghcr.io/r3bo0tbx1/onion-relay:stable
|
||||
- ⚡ Bleeding-edge Alpine packages (faster security updates)
|
||||
- ⚡ Latest Tor and obfs4 versions as soon as available
|
||||
- ⚠️ **NOT recommended for production** - less stable, potential breaking changes
|
||||
- ⚠️ Available **only on GHCR** (not Docker Hub)
|
||||
- 📦 Available on both Docker Hub and GHCR
|
||||
|
||||
```bash
|
||||
# Pull from GHCR only
|
||||
# Pull from Docker Hub
|
||||
docker pull r3bo0tbx1/onion-relay:edge
|
||||
|
||||
# Pull from GHCR
|
||||
docker pull ghcr.io/r3bo0tbx1/onion-relay:edge
|
||||
docker pull ghcr.io/r3bo0tbx1/onion-relay:1.1.2-edge
|
||||
```
|
||||
@@ -192,7 +195,7 @@ docker pull ghcr.io/r3bo0tbx1/onion-relay:1.1.2-edge
|
||||
| Breaking changes | ❌ Rare | ⚠️ Possible |
|
||||
| Security updates | Weekly | Weekly (newer packages) |
|
||||
| Package versions | Proven | Bleeding edge |
|
||||
| Docker Hub | ✅ Yes | ❌ No |
|
||||
| Docker Hub | ✅ Yes | ✅ Yes |
|
||||
| GHCR | ✅ Yes | ✅ Yes |
|
||||
|
||||
> 💡 **Our recommendation:** Use **stable** for production relays, **edge** only for testing or when you specifically need the latest package versions.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
# docker-entrypoint.sh - Tor Guard Relay initialization and process management
|
||||
# 🆕 v1.1.1 - Ultra-optimized 17.1 MB build with multi-mode support
|
||||
# 🆕 v1.1.2 - Ultra-optimized 17.1 MB build with multi-mode support
|
||||
|
||||
set -e
|
||||
|
||||
@@ -76,7 +76,7 @@ cleanup_and_exit() {
|
||||
# Startup banner
|
||||
startup_banner() {
|
||||
log "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
log "🧅 Tor Guard Relay v1.1.1 - Initialization"
|
||||
log "🧅 Tor Guard Relay v1.1.2 - Initialization"
|
||||
log "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
log ""
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user