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
Install tools:
brew install vhs
brew install imagemagick
brew install --cask google-chrome # if not already installed
Run tape:
cd vhs
vhs ./rpk.tape
Make script executable:
chmod +x webui_capture.sh
Run:
cd vhs
npm install
node capture.js
./webui_capture.sh
Requires 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:
buildx for multi-archInstall 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 ..
docker build -t rackpeek:ci -f RackPeek.Web/Dockerfile .
cd Tests.E2e && dotnet test
Temporarily set in PlaywrightFixture.cs:
Headless = false,
SlowMo = 500,
⚠ Revert to:
Headless = true,
Before committing (CI requires headless mode).