We most certainly need more code owners. If you wish to give the green check to code of a certain language, please add yourself as owner. If approved, i'll merge. I cannot possibly review all of these. :)
Implementations in TypeScript, Rust or Zig are reserved and maintained by ThePrimeagen himself.
For other languages, remember: first come, first serve. If there exists an implementation in your language of choice, contribute to it!
If not, start by copying LANG_TEMPLATE folder:
cp -r .github/LANG_TEMPLATE/ <your_folder_name>
It comes with:
├── .gitignore # ignores all editor-specific or os-specific files, add additional stuff for your language
├── Dockerfile # for Docker builds
└── Makefile # convenient commands runner (make <cmd>) under *NIX systems
Now, the convenient commands runner (.\make.cmd <cmd>
) under Windows is completely optional and resides in the root of .github/
General:
help
— outputs all the commands available, same as running the make
or make.cmd
without argumentsWithout Docker:
clean
fmt
lint
test
— should run all the available testsready
— should run fmt, lint ant testDocker:
docker-build
— makes the builddocker-ready
— runs the build image and executes fmt
, lint
, test
commands insideThis assumes there is a Makefile
in the root of the language directory.
# without docker
make clean
make fmt
make lint
make test
make ready # runs fmt, lint and test
# docker, assuming there's a Dockerfile
make docker-build # makes the build
make docker-ready # runs fmt, lint and test in the built image
This assumes there is a make.cmd
in the root of the language directory.
@rem without docker
.\make.cmd clean
.\make.cmd fmt
.\make.cmd lint
.\make.cmd test
.\make.cmd ready @rem runs fmt, lint and test
@rem docker, assuming there's a Dockerfile
.\make.cmd docker-build @rem makes the build
.\make.cmd docker-ready @rem runs fmt, lint and test in the built image