railpack

Configure and troubleshoot Railpack builds, with emphasis on RAILPACK_* environment variables, railpack.json overlays, build-plan inspection, local CLI installation and usage, and local BuildKit containers. Use for Railpack provider configuration, custom install/build/start commands, Mise or Apt packages, build or runtime variables and secrets, generated-plan debugging, BUILDKIT_HOST errors, or running Railpack from a release or source checkout.

Install
npx skills add 'https://github.com/railwayapp/railpack/tree/main/.'
Incomplete bundle · no download
main · 21a254fScanned 2026-09-17

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

core/pretty_print_test.go

core/pretty_print_test.goBrowse 1970 files
View on GitHub
← Back to SKILL.md
package core import (	"bytes"	"testing" 	"github.com/charmbracelet/lipgloss"	"github.com/muesli/termenv"	"github.com/railwayapp/railpack/core/logger"	"github.com/stretchr/testify/require") func TestPrettyPrintStyles(t *testing.T) {	highlighted := FormatHighlight("docker run -it shell-script")	output := boxStyle.Render("Successfully built image in 1.08s\n\nRun:\n" + highlighted) 	require.Contains(t, output, "Successfully built image in 1.08s")	require.Contains(t, output, "docker run -it shell-script")	require.NotContains(t, output, "✓")} func TestPrettyPrintSectionHeader(t *testing.T) {	var output bytes.Buffer	PrettyPrintSectionHeader(&output, "Generated railpack-plan.json") 	require.Contains(t, output.String(), "Generated railpack-plan.json")} func TestPrettyPrintDeprecationLog(t *testing.T) {	buildResult := &BuildResult{		Logs: []logger.Msg{			{				Level: logger.Deprecation,				Msg:   "old behavior will change",			},		},	} 	output := FormatBuildResult(buildResult) 	require.Contains(t, output, "⚑ Deprecated: Old behavior will change")} func TestPrettyPrintSuggestionLog(t *testing.T) {	buildResult := &BuildResult{		Logs: []logger.Msg{			{				Level:    logger.Suggestion,				Msg:      "include `...` in `buildAptPackages`",				DocsPath: "/guides/installing-packages",			},		},	} 	output := FormatBuildResult(buildResult) 	require.Contains(t, output, "→ Include `...` in `buildAptPackages`")	require.Contains(t, output, "https://railpack.com/guides/installing-packages")} func TestPrettyPrintJSON(t *testing.T) {	originalProfile := lipgloss.ColorProfile()	t.Cleanup(func() {		lipgloss.SetColorProfile(originalProfile)	}) 	json := []byte(`{"key":"value","enabled":true}`) 	lipgloss.SetColorProfile(termenv.ANSI)	var colored bytes.Buffer	PrettyPrintJSON(&colored, json)	require.Contains(t, colored.String(), "\x1b[") 	lipgloss.SetColorProfile(termenv.Ascii)	var plain bytes.Buffer	PrettyPrintJSON(&plain, json)	require.Equal(t, string(json)+"\n", plain.String())}