4
0

dev-cheat-sheet.md 1.9 KB

Dev Cheat Sheet

Build CLI (macOS ARM64)

Publish a self-contained single binary:

dotnet publish -c Release -r osx-arm64 \
  --self-contained true \
  -p:PublishSingleFile=true

Install globally:

sudo mv bin/Release/net*/osx-arm64/publish/RackPeek /usr/local/bin/rpk
sudo chmod +x /usr/local/bin/rpk

Verify:

rpk --help

Generate CLI Demo (VHS)

Install tools:

brew install vhs
brew install imagemagick
brew install --cask google-chrome # if not already installed

Run tape:

cd vhs
vhs ./rpk.tape

Capture Web UI Demo

Make script executable:

chmod +x webui_capture.sh

Run:

cd vhs
npm install
node capture.js 
./webui_capture.sh

Requires Chrome + ImageMagick.


Build & Push Multi-Arch Docker Image

Manual release build:

docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -f ./Dockerfile \
  -t aptacode/rackpeek:v0.0.11 \
  -t aptacode/rackpeek:latest \
  --push ..

Notes:

  • Uses buildx for multi-arch
  • Pushes directly to registry
  • Update version tag before running

Run E2E Tests (Playwright)

Install tooling (first time only):

cd Tests.E2e
dotnet tool install --global Microsoft.Playwright.CLI
dotnet build
playwright install

Build Web image (required before running tests):

docker build -t rackpeek:ci -f RackPeek.Web/Dockerfile .


docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -f ./Dockerfile \
  -t aptacode/rackpeek-qa:latest \
  --push ..

Common Workflows

Rebuild everything quickly

docker build -t rackpeek:ci -f RackPeek.Web/Dockerfile .
cd Tests.E2e && dotnet test

Debugging E2E Tests

Temporarily set in PlaywrightFixture.cs:

Headless = false,
SlowMo = 500,

⚠ Revert to:

Headless = true,

Before committing (CI requires headless mode).