mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-10-06 14:06:32 -04:00
Changing demo/settings.tape, or anything about how lazygit looks, dates every recording at once, and re-recording them one at a time means running the recorder fifteen times and pasting fifteen new URLs. Attachment URLs say nothing about where they came from, so there is also nothing to tell you which demo a video in the README is of. Name the demo in a comment above each video. GitHub drops the comment when it renders the page, so it costs the reader nothing, and it gives us a way back from a page to the demo that produced it. Then walk those comments, re-record each demo and rewrite the URL below it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
83 lines
2.0 KiB
Makefile
83 lines
2.0 KiB
Makefile
default:
|
|
just --list
|
|
|
|
# Build lazygit with optimizations disabled (to make debugging easier).
|
|
build:
|
|
go build -gcflags='all=-N -l'
|
|
|
|
install:
|
|
go install
|
|
|
|
run: build
|
|
./lazygit
|
|
|
|
# Run `just debug` in one terminal tab and `just print-log` in another to view the program and its log output side by side
|
|
debug: build
|
|
./lazygit -debug
|
|
|
|
print-log: build
|
|
./lazygit --logs
|
|
|
|
unit-test:
|
|
go test ./... -short
|
|
|
|
# Run both unit tests and integration tests.
|
|
[unix]
|
|
test: unit-test e2e
|
|
|
|
# On Windows, integration tests are not supported right now
|
|
[windows]
|
|
test: unit-test
|
|
|
|
# Generate all our auto-generated files (test list, cheatsheets, json schema, maybe other things in the future)
|
|
generate:
|
|
go generate ./...
|
|
|
|
format:
|
|
go tool gofumpt -l -w .
|
|
|
|
lint:
|
|
./scripts/gofumpt-check.sh
|
|
./scripts/golangci-lint-shim.sh run
|
|
|
|
e2e-test-command := "go test -timeout 30m pkg/integration/clients/*.go"
|
|
|
|
# Run integration tests headlessly: no args runs all tests, a test name (or path) runs just that one. Use e2e-cli for a visible UI.
|
|
e2e *args:
|
|
{{ if args == "" { e2e-test-command } else { \
|
|
e2e-test-command + " -run 'TestIntegration/" + \
|
|
replace( \
|
|
replace_regex( \
|
|
replace_regex(args, '\S*pkg/integration/tests/', ''), \
|
|
'\.go( |$)', '${1}' \
|
|
), \
|
|
" ", "$' && " + e2e-test-command + " -run 'TestIntegration/" \
|
|
) + "$'" \
|
|
} }}
|
|
|
|
# Run a single integration test with a visible UI; most useful with --sandbox or --slow.
|
|
e2e-cli *args:
|
|
go run cmd/integration_test/main.go cli {{ args }}
|
|
|
|
# Open the TUI for running integration tests.
|
|
e2e-tui *args:
|
|
go run cmd/integration_test/main.go tui {{ args }}
|
|
|
|
# Run some tests on the current commit, similar to what CI does.
|
|
check:
|
|
./scripts/check_commit.sh
|
|
|
|
bump-gocui:
|
|
scripts/bump_gocui.sh
|
|
|
|
# Record a demo
|
|
demo *args:
|
|
demo/record_demo.sh {{ args }}
|
|
|
|
# Re-record every demo the README embeds
|
|
rerecord-demos *args:
|
|
demo/rerecord_demos.sh {{ args }}
|
|
|
|
vendor:
|
|
go mod tidy && go mod vendor
|