Publish a self-contained single binary:
dotnet publish -c Release -r osx-arm64 \
--self-contained true \
-p:PublishSingleFile=trueInstall globally:
sudo mv bin/Release/net*/osx-arm64/publish/RackPeek /usr/local/bin/rpk
sudo chmod +x /usr/local/bin/rpkVerify:
rpk --helpInstall tools:
brew install vhs
brew install imagemagick
brew install --cask google-chrome # if not already installedRun tape:
cd vhs
vhs ./rpk.tapeMake script executable:
chmod +x webui_capture.shRun:
cd vhs
npm install
node capture.js
./webui_capture.shRequires Chrome + ImageMagick.
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
buildxfor multi-arch - Pushes directly to registry
- Update version tag before running
Install tooling (first time only):
cd Tests.E2e
dotnet tool install --global Microsoft.Playwright.CLI
dotnet build
playwright installBuild 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 ..docker build -t rackpeek:ci -f RackPeek.Web/Dockerfile .
cd Tests.E2e && dotnet testTemporarily set in PlaywrightFixture.cs:
Headless = false,
SlowMo = 500,⚠ Revert to:
Headless = true,Before committing (CI requires headless mode).