Skip to content

Commit 4d20cd1

Browse files
author
kennethdashensheridan
committed
Update README: prioritize pre-built releases, remove release creation section
1 parent 5551c62 commit 4d20cd1

1 file changed

Lines changed: 69 additions & 32 deletions

File tree

README.md

Lines changed: 69 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -165,16 +165,29 @@ echo "Build complete! Run with: sudo ./target/release/hardware_report" && \
165165
sudo ./target/release/hardware_report
166166
```
167167

168-
### Option 3: Pre-built Binaries
168+
### Option 3: Pre-built Releases (Recommended for Quick Setup)
169169

170-
**Download Latest Release**
170+
Instead of building from source, you can download pre-built binaries and Debian packages from our [GitHub Releases](https://github.com/sfcompute/hardware_report/releases) page.
171+
172+
**Available Release Artifacts:**
173+
- `hardware_report-linux-x86_64-{version}.tar.gz` - Pre-compiled Linux binary
174+
- `hardware-report_{version}_amd64.deb` - Debian package with automatic dependency management
175+
- SHA256 checksums for all artifacts
176+
177+
**Option 3a: Pre-built Binary**
171178
```bash
172-
# Get the latest release URL
173-
RELEASE_URL=$(curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest | grep "browser_download_url.*tar.gz\"" | cut -d '"' -f 4)
179+
# Download the latest release
180+
curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
181+
| grep "browser_download_url.*tar.gz" \
182+
| cut -d '"' -f 4 \
183+
| wget -i -
184+
185+
# Download and verify checksum
186+
curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
187+
| grep "browser_download_url.*tar.gz.sha256" \
188+
| cut -d '"' -f 4 \
189+
| wget -i -
174190

175-
# Download and verify
176-
wget $RELEASE_URL
177-
wget $RELEASE_URL.sha256
178191
sha256sum -c hardware_report-linux-x86_64-*.tar.gz.sha256
179192

180193
# Install runtime dependencies
@@ -186,6 +199,22 @@ chmod +x hardware_report-linux-x86_64
186199
sudo ./hardware_report-linux-x86_64
187200
```
188201

202+
**Option 3b: Debian Package (Ubuntu/Debian)**
203+
```bash
204+
# Download the latest Debian package
205+
curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
206+
| grep "browser_download_url.*\.deb" \
207+
| cut -d '"' -f 4 \
208+
| wget -i -
209+
210+
# Install with automatic dependency resolution
211+
sudo apt update
212+
sudo apt install -y ./hardware-report_*_amd64.deb
213+
214+
# Run the tool
215+
sudo hardware_report
216+
```
217+
189218
### Advanced Build Methods
190219

191220
**For Teams with Existing Nix Infrastructure**
@@ -315,12 +344,6 @@ The project includes GitHub Actions workflows for:
315344
- Release builds triggered by version tags
316345
- Binary artifact generation with SHA256 checksums
317346

318-
**Creating Releases**
319-
```bash
320-
git tag -a v1.0.0 -m "Release version 1.0.0"
321-
git push origin v1.0.0
322-
```
323-
324347
---
325348

326349
## Sample Output
@@ -508,36 +531,50 @@ pci_id = "15b3:1021"
508531

509532
## Deployment Considerations
510533

511-
## Deployment Considerations
512-
513534
### Production Deployment Options
514535

515-
**Option 1: Debian Package (Recommended for Production)**
536+
**Option 1: Pre-built Debian Package (Recommended for Production)**
516537
```bash
517-
# Using Nix-built package (includes all dependencies)
518-
nix build .#deb
519-
sudo apt install -y ./result/hardware-report_0.1.7_amd64.deb
520-
sudo hardware_report
538+
# Download latest Debian package from GitHub Releases
539+
curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
540+
| grep "browser_download_url.*\.deb" \
541+
| cut -d '"' -f 4 \
542+
| wget -i -
543+
544+
# Install with automatic dependency resolution
545+
sudo apt update && sudo apt install -y ./hardware-report_*_amd64.deb
546+
547+
# Deploy across multiple servers
548+
ansible servers -m copy -a "src=hardware-report_*_amd64.deb dest=/tmp/"
549+
ansible servers -m apt -a "deb=/tmp/hardware-report_*_amd64.deb state=present"
521550
```
522551

523-
**Option 2: Static Binary Deployment**
552+
**Option 2: Pre-built Binary Deployment**
524553
```bash
525-
# Build static binary for maximum portability
526-
rustup target add x86_64-unknown-linux-musl
527-
cargo build --target x86_64-unknown-linux-musl --release
554+
# Download and verify pre-built binary
555+
curl -s https://api.github.com/repos/sfcompute/hardware_report/releases/latest \
556+
| grep "browser_download_url.*tar.gz" \
557+
| cut -d '"' -f 4 \
558+
| wget -i -
528559

529-
# Deploy to target systems (minimal dependencies required)
530-
scp target/x86_64-unknown-linux-musl/release/hardware_report user@target:/usr/local/bin/
560+
# Extract and deploy to target systems
561+
tar xzf hardware_report-linux-x86_64-*.tar.gz
562+
scp hardware_report-linux-x86_64 user@target:/usr/local/bin/hardware_report
563+
564+
# Ensure runtime dependencies are installed on all target systems
565+
ansible all -m package -a "name=numactl,ipmitool,ethtool,util-linux,pciutils state=present"
531566
```
532567

533-
**Option 3: Traditional Package Management**
568+
**Option 3: Build-from-Source Deployment**
534569
```bash
535-
# Install cargo-built binary
536-
sudo cp target/release/hardware_report /usr/local/bin/
537-
sudo chmod +x /usr/local/bin/hardware_report
570+
# For environments that require building from source
571+
# Using Nix-built package (includes all dependencies)
572+
nix build .#deb
573+
sudo apt install -y ./result/hardware-report_*_amd64.deb
538574

539-
# Ensure runtime dependencies are installed on all target systems
540-
ansible all -m package -a "name=numactl,ipmitool,ethtool,util-linux,pciutils state=present"
575+
# Or using traditional cargo build
576+
cargo build --release
577+
sudo cp target/release/hardware_report /usr/local/bin/
541578
```
542579

543580
### Automation Integration

0 commit comments

Comments
 (0)