mirror of
https://github.com/ddworken/hishtory.git
synced 2024-11-22 16:24:00 +01:00
b27fde71c9
* Remove a few direct DB insertions to prepare for parallel tests * Revert "Remove a few direct DB insertions to prepare for parallel tests" This reverts commitf8a3552ad8
. * Add rudimentary experiment of splitting tests into two chunks to make them faster * Add missing tag * Remove code that enforces that all goldens are used, since it is incompatible with how tests are currently split into chunks * Lay out the framework for checking goldens being used across all test runs * Fix missing brace * Revert "Remove code that enforces that all goldens are used, since it is incompatible with how tests are currently split into chunks" This reverts commit06cc3eedbc
. * Add initial work towards checking that all goldens are used * Delete incorrect and unreferenced matrix * Upgrade actions/upload-artifact to see if that makes the download in the next job work * Alternatively, try downloading the artifact by name * Update golden checker to read all the golden artifacts * Swap to using glob to enumerate all golden files, rather than hardcoding them * Remove debugging commands * Remove goldens that are actually used * Remove another golden that is actually used * Add more comprehensive support for test sharding * Fix references to test shards and increase shard count * Shard the fuzz test * Add debug prints * Mark additional tests for sharding * Fix logic error that broke test sharding * Remove debug print * Fix incorrect logic with skipping the fuzz test * Move sharding functions to testutils and add some comments * Upgrade all setup-go actions to enable caching of deps * Remove goldens that don't exist * Remove new line * Reduce delay * Correct stage name * Remove incorrect skip code from the first version of sharding * Remove unused import * Reduce number of test shards to match GitHub's limit of 5 concurrent macos jobs * Use cask for installing homebrew to speed up github actions * More cleanup for unused goldens
46 lines
2.3 KiB
Makefile
46 lines
2.3 KiB
Makefile
help: ## Show this help.
|
|
@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##//'
|
|
|
|
local-install: ## Build and install hishtory locally from the current directory
|
|
go build; ./hishtory install
|
|
|
|
forcetest: ## Force running all tests without a test cache
|
|
go clean -testcache
|
|
make test
|
|
|
|
test: ## Run all tests
|
|
TZ='America/Los_Angeles' HISHTORY_TEST=1 HISHTORY_SKIP_INIT_IMPORT=1 gotestsum --packages ./... --rerun-fails=10 --rerun-fails-max-failures=30 --format testname --jsonfile /tmp/testrun.json --post-run-command "go run client/posttest/main.go export" -- -p 1 -timeout 90m
|
|
|
|
ftest: ## Run a specific test specified via `make ftest FILTER=TestParam/testTui/color`
|
|
go clean -testcache
|
|
HISHTORY_FILTERED_TEST=1 TZ='America/Los_Angeles' HISHTORY_TEST=1 HISHTORY_SKIP_INIT_IMPORT=1 gotestsum --packages ./... --rerun-fails=0 --format testname -- -p 1 -run "$(FILTER)" -timeout 60m
|
|
|
|
release: ## [ddworken only] Release the latest version on Github
|
|
# Bump the version
|
|
expr `cat VERSION` + 1 > VERSION
|
|
git add VERSION
|
|
git commit -m "Release v0.`cat VERSION`" --no-verify
|
|
git push
|
|
gh release create v0.`cat VERSION` --generate-notes
|
|
git push && git push --tags
|
|
|
|
build-static: ## [ddworken only] Build the server for hishtory.dev
|
|
ssh server "cd ~/code/hishtory/; git pull; docker build --build-arg GOARCH=amd64 --tag gcr.io/dworken-k8s/hishtory-static --file backend/web/caddy/Dockerfile ."
|
|
|
|
build-api: ## [ddworken only] Build the API for api.hishtory.dev
|
|
rm hishtory server || true
|
|
docker build --build-arg GOARCH=amd64 --tag gcr.io/dworken-k8s/hishtory-api --file backend/server/Dockerfile .
|
|
|
|
deploy-static: ## [ddworken only] Build and deploy the server for hishtory.dev
|
|
deploy-static: build-static
|
|
ssh server "docker push gcr.io/dworken-k8s/hishtory-static"
|
|
ssh monoserver "cd ~/infra/ && docker compose pull hishtory-static && docker compose rm -svf hishtory-static && docker compose up -d hishtory-static"
|
|
|
|
deploy-api: ## [ddworken only] Build and deploy the API server for api.hishtory.dev
|
|
deploy-api: build-api
|
|
docker push gcr.io/dworken-k8s/hishtory-api
|
|
ssh monoserver "cd ~/infra/ && docker compose pull hishtory-api && docker compose up -d --no-deps hishtory-api"
|
|
|
|
deploy: ## [ddworken only] Build and deploy all backend services
|
|
deploy: release deploy-static deploy-api
|