{"id":17912090,"url":"https://github.com/monkey92t/grte","last_synced_at":"2025-08-21T12:45:15.524Z","repository":{"id":112068401,"uuid":"393348421","full_name":"monkey92t/grte","owner":"monkey92t","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-08T15:49:29.000Z","size":83,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-19T00:03:39.013Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monkey92t.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-06T10:55:27.000Z","updated_at":"2023-03-27T06:24:00.000Z","dependencies_parsed_at":"2023-04-19T09:33:26.476Z","dependency_job_id":null,"html_url":"https://github.com/monkey92t/grte","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monkey92t%2Fgrte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monkey92t%2Fgrte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monkey92t%2Fgrte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monkey92t%2Fgrte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monkey92t","download_url":"https://codeload.github.com/monkey92t/grte/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245179896,"owners_count":20573564,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T19:43:03.874Z","updated_at":"2025-03-23T22:34:09.410Z","avatar_url":"https://github.com/monkey92t.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GRTE (go-redis-test-env)\n\nGRTE is a tool that can run go-redis unit tests locally.  \nSo you don’t have to worry about the virtual environment of unit tests anymore.  \nIt is only compatible with the latest version of go-redis master branch.  \n\n## Install\n\n1. First you need to [install a Docker](https://docs.docker.com/get-docker).  \n\n2. You can use the easiest way to install grte.  \n```\n\u003e git clone https://github.com/monkey92t/grte.git\n\u003e cd grte\n\u003e go build -o $GOPATH/bin/grte\n```\n\n## Quick Start\n\n```\n\u003e pwd\n/home/work/go-redis/redis\n\u003e grte go test ./...\n......\n......\n......\n```\n\nIf you see the following output, it means the test has been executed:  \n```\nmonkey92t@iMac redis % grte go test ./...\n[go-redis]  🐳 Prepare docker image ==\u003e goredis/grte:env\n[go-redis]  🐳 Use image cache, ID ==\u003e sha256:6a32c20dcf1527edde9172a2787dad9685c308e26c546d8344a1f8ecd07c3fa0\n[go-redis]  🐳 Create docker container...\n[go-redis]  🐳 ContainerID: eec5155412aa0a8d6ed2aa9810770ebf9343840f91fee216dd9cf1cb10c144e4\n[go-redis]  🐳 WorkDir: /Users/monkey/redis\n[go-redis]  🐳 Command: [go test ./...]\nok      github.com/go-redis/redis/v8    98.691s\nok      github.com/go-redis/redis/v8/internal   0.049s\nok      github.com/go-redis/redis/v8/internal/hashtag   0.097s\nok      github.com/go-redis/redis/v8/internal/hscan     0.060s\nok      github.com/go-redis/redis/v8/internal/pool      1.143s\nok      github.com/go-redis/redis/v8/internal/proto     0.026s\n?       github.com/go-redis/redis/v8/internal/rand      [no test files]\n?       github.com/go-redis/redis/v8/internal/util      [no test files]\n[go-redis]  ✅  Success!\n```\n\nYou can execute `golangci-lint run` command:  \n\n```\n....\n....\n[go-redis]  🐳 WorkDir: /Users/monkey/redis\n[go-redis]  🐳 Command: [golangci-lint run]\nWARN [runner] The linter 'interfacer' is deprecated (since v1.38.0) due to: The repository of the linter has been archived by the owner.  \nWARN [runner] The linter 'scopelint' is deprecated (since v1.39.0) due to: The repository of the linter has been deprecated by the owner.  Replaced by exportloopref. \nWARN [runner] The linter 'golint' is deprecated (since v1.41.0) due to: The repository of the linter has been archived by the owner.  Replaced by revive. \n[go-redis]  ✅  Success!\n```\n\nIts working directory depends on where you are currently in `go-redis/redis`:  \n```\nmonkey@iMac pool % pwd\n/Users/monkey/redis/internal/pool\nmonkey92t@iMac pool % grte go test ./...\n[go-redis]  🐳 Prepare docker image ==\u003e goredis/grte:env\n[go-redis]  🐳 Use image cache, ID ==\u003e sha256:b69aee248b1d3ebd47a1115773ffa22dccea3cff5433d140dbad092e9326a977\n[go-redis]  🐳 Create docker container...\n[go-redis]  🐳 ContainerID: 5d7fd7fc66cf811df7533c68e1b4e12d0e35ed199a6a072a7b2b668b2022c70b\n[go-redis]  🐳 WorkDir: /Users/monkey/redis/internal/pool\n[go-redis]  🐳 Command: [go test ./...]\nok      github.com/go-redis/redis/v8/internal/pool      0.953s\n[go-redis]  ✅  Success!\nmonkey@iMac pool % \n\n```\n\nFor complex commands, you may need to use `\"` to handle:  \n```\n\u003e grte \"go vet go test ./... \u0026\u0026 go vet\"\n```\n\nIf you want to use the environment variables in the virtual environment, remember to use \"\\\":  \n```\n\u003e grte echo \\$PATH\n```\n\nWARN: The original intention of GRTE is only to quickly execute go-redis unit tests, not to execute overly complex commands.  \n\n## Configuration File\n\nGRTE will read the go-redis/grte.yaml file.  \nYou can create a `~/.grte.yaml` file (please note that it is `~/.grte.yaml`) to override the options of go-redis/grte.yaml\n\n```\n// The minimum version number of grte, if it is lower than it, you need to upgrade grte.\nMinVersionNumber: 100\n\n// The Docker image version used, if there is a local cache, the cache is preferred,\n// otherwise it is downloaded from `https://docker.io`\nImage: goredis/grte:env\n\n// Environment variables set in the container.\nContainerEnv:\n  GOPROXY: https://goproxy.io\n  ENV1: Value1\n  ENV2: Value2\n```\n\n## WARN\n\nGRTE will automatically use `/temp/go-redis-test-env-gopath` to cache `go mod`.\n  \n  \n\nThanks!  \nEND...  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonkey92t%2Fgrte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonkey92t%2Fgrte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonkey92t%2Fgrte/lists"}