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
└── make.cmd # convenient commands runner (.\make.cmd <cmd>) under Windows
General:
help
— outputs all the commands available, same as running themake
ormake.cmd
without arguments
Without Docker:
fmt
lint
test
ready
— should run the three above
Docker:
docker-build
— makes the builddocker-ready
— runs the build image and executesfmt
,lint
,test
commands inside
This assumes there is a Makefile
in the root of the language directory.
# without docker
make fmt
make lint
make test
make ready # runs all three above
# 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 fmt
.\make.cmd lint
.\make.cmd test
.\make.cmd ready @rem runs all three above
@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