Skip to content

Latest commit

 

History

History
65 lines (54 loc) · 1.81 KB

File metadata and controls

65 lines (54 loc) · 1.81 KB

ProxyAtlas Release Checklist

Pre-release

  1. Run go mod tidy.
  2. Run go vet ./....
  3. Run go test ./....
  4. Ensure CI race test is green.
  5. Run local smoke:
    • go run ./cmd/proxyharvest ...
    • go run ./cmd/proxycheck ...
  6. Confirm outputs are produced:
    • data/harvest/latest.jsonl
    • data/check/latest.jsonl
    • data/check/report.json

Git publish

  1. git init -b main (first time only).
  2. git remote add origin git@github.com:Mohammadrce/ProxyAtlas.git (first time only).
  3. git add .
  4. git commit -m "release: vX.Y.Z <summary>"
  5. git push -u origin main

Tag release

  1. git tag vX.Y.Z
  2. git push origin vX.Y.Z
  3. Verify GitHub Actions:
    • CI workflow successful
    • Release workflow published artifacts and checksums
  4. Verify release assets match expected layout:
    • 12 matrix build files:
      • proxyatlas-{darwin|linux|windows}-{amd64|arm64}.tar.gz
      • proxyatlas-{darwin|linux|windows}-{amd64|arm64}.sha256
    • 1 aggregate checksum file: checksums.txt
    • 2 GitHub auto-generated source archives:
      • Source code (zip)
      • Source code (tar.gz)

Validate checksums

  1. Linux/macOS:
    • sha256sum -c checksums.txt
    • macOS alternative: shasum -a 256 -c checksums.txt
  2. PowerShell:
Get-ChildItem .\proxyatlas-*.tar.gz | ForEach-Object {
  $checksumFile = "$($_.FullName).sha256"
  $expected = (Get-Content $checksumFile | ForEach-Object { ($_ -split '\s+')[0] })[0].ToLower()
  $actual = (Get-FileHash $_.FullName -Algorithm SHA256).Hash.ToLower()
  if ($actual -ne $expected) {
    throw "checksum mismatch: $($_.Name)"
  }
}

Post-release

  1. Check scheduled updater workflow status.
  2. Validate latest artifacts include:
    • harvest JSONL/TXT/report
    • check JSONL/TXT/report
  3. Update changelog for next iteration.