- fix logical error, better non 200 resp message in main.py - updated dependencies - major updates to contributing guide - quicker prod builds with reduced docker layers - adds dockerfile for development - updates github action for unit-tests
2.8 KiB
Contributing
First off, thank you! Please follow along.
You need to fork this repository and clone it, onto your system.
Using docker (recommended)
Assumes you've already installed & configured latest version of docker.
-
Inside the cloned folder, run:
$ git archive -o 'waka-readme.tar.gz' HEAD $ docker build . -t 'waka-readme:dev' -f 'DockerfileDev'
to build an image. (Image is identified as
<name>:<tag>
) -
Then create containers and use them as dev environments.
-
Temporary:
$ docker run --rm -it --name 'WakaReadme' 'waka-readme:dev' bash
-
or Persistent
$ docker run --detach --name 'WakaReadme' 'waka-readme:dev' $ docker exec -it 'WakaReadme' bash
where
WakaReadme
is the docker container name.
-
-
For development, you can attach code editor of your choice to this container.
-
Export environnement variables with edits, as required:
// inside container # export INPUT_GH_TOKEN='<GITHUB TOKEN>' \ && export INPUT_WAKATIME_API_KEY='<WAKATIME API KEY>' \ && export INPUT_API_BASE_URL='https://wakatime.com/api' \ && export INPUT_REPOSITORY='<REPOSITORY SLUG>' \ && export INPUT_COMMIT_MESSAGE='<COMMIT MESSAGE>' \ && export INPUT_SHOW_TITLE='True' \ && export INPUT_BLOCKS='->' \ && export INPUT_SHOW_TIME='True' \ && export INPUT_SHOW_TOTAL='True' \ && export INPUT_TIME_RANGE='last_7_days' \ && export INPUT_SHOW_MASKED_TIME='True'
and execute program with:
# poetry shell (venv)# python -m main --dev
-
Later, to remove stop and remove the container:
// exit container # exit $ docker container stop 'WakaReadme' $ docker container rm 'WakaReadme'
Manual
Assumes you've already installed & configured latest version of python and poetry.
-
Inside the cloned folder run:
$ poetry shell (venv)$ poetry install
to create and activate a virtual environnement and install dependencies.
-
Put environment variables in a
.env
fileINPUT_GH_TOKEN='<GITHUB TOKEN>' INPUT_WAKATIME_API_KEY='<WAKATIME API KEY>' INPUT_API_BASE_URL='https://wakatime.com/api' INPUT_REPOSITORY='<REPOSITORY SLUG>' INPUT_COMMIT_MESSAGE='<COMMIT MESSAGE>' INPUT_SHOW_TITLE='True' INPUT_BLOCKS='->' INPUT_SHOW_TIME='True' INPUT_SHOW_TOTAL='True' INPUT_TIME_RANGE='last_7_days' INPUT_SHOW_MASKED_TIME='True'
-
Execute program in development mode with:
(venv)$ python -m main --dev