Set up CI/CD
Docker images with Poetry
- Based on Python images repository
- Publish git repository here https://git.duniter.org/docker/python3/poetry
- Python images with Slim Debian is enough
- Stretch for Python version 3.5, 3.6, 3.7
Buster + Python v3.8 when released (needs other
- Publish built images on https://registry.duniter.org/docker/python3/poetry/$PYTHON_VERSION:tag
- Could be used by DuniterPy if it uses Poetry
change: - only $PYTHON_VERSION/Dockerfile: not working
Run directly without Poetry
Run directly on the Docker image With Python. Poetry is somehow using Python installed on the system.
poetry install --no-dev; and poetry build
Format check: Black
libsodium: Installed on a Debian machine with
test_end_to_end.py: not working as it is calling
silkajfrom the Shell. Click testing
Publish code coverage report with GitLab Pages
Links does not redirect to working pages: missing
- Move at the end of the pipeline to speed-up as mandatory
- Links does not redirect to working pages: missing
- #146: Set coverage badge
Multiple Python versions: 3.5, 3.6, 3.7, 3.8
Handle v3.5 which fails because of Black hack: Use
blackfrom Poetry dev env.
v3.8: Poetry installation via
- As for Poezio
Poetry Python version management #731:
use. Change the environment Python version with
- Handle v3.5 which fails because of Black hack: Use
Windows, Python v3.7 as suggested version from Python website, which Windows build?
- macOS (not possible)
- Multiple Python versions: 3.5, 3.6, 3.7, 3.8
#105: Pypi distribution
- Pass secret variable not passed: the variable should match the criteria to be saved
- Create new account with password matching the criteria
Make the tag matches the semver regex
- Only on
- Check who has access to make actions on this pipeline: only developers + maintainers
poetry shelldoes not activate the
poetry run black
- Use extends instead of YAML anchors
Docker images: install Poetry via
pip. Could remove
curlinstall. Problematic, if Poetry version changes. Install fixed version.
Use Poetry pre-release:
pip install poetry --pre? New
Get rid of
doc/install_docker.mdwhich is no longer needed.
Build, etc into
Checksstage. Will it speed up the whole pipeline. Or, will the runners be overloaded? It doesn’t seems so.
- Linear pipeline takes around 5-6 minutes.
- Dropped to 4 minutes with PyPi test publication and all checks into Checks stage.
- 2.5 minutes without PyPi publications
- With four tests jobs for multiple Python version takes longer. As it seems only three jobs can be triggered all together. Python v3.8 job starts after one of the other are done. This slow down the pipeline to 4 minutes. Looks normal to what we add with previous state: checks and tests stages separated.
Install manually just needed dependency with
- 7 ways to speed up your GitLab CI/CD times
- How To Speed Up Your GitLab CI Pipeline
- Make your CI pipeline fast and awesome with Gitlab Container Registry