Before this commit, if docker-entrypoint or any file in mailman-web changed, the Docker build cache would not be used, so the install of dependencies would run again, uselessly
We previously used the get_latest_ref.py script to fetch the
latest commit sha for each project that passed CI correctly. Although,
that has some challenges due to requiring Gitlab Auth token. It causes
issues with building PRs and we don't want to share the Gitlab token
with PR authors.
Instead, this commit removes the code and sha references and Instead
simply uses the primary master branch from each project to build the
rolling release container image.
* Make several changes in the release and CI setup.
- Remove .travis/ directory completely.
- Update deploy.py script to tag with major.minor version
and remove the v in the tag which it didn't before.
- Fix the CircleCI cron setup.
* Update config.yml
* Use buildkit if possible.
* Use machine executor which supports buildkit.
* Remove setup docker step
* Use newer image.
* Use buildkit syntax for caching pip dependencies.
This should significantly speed up the build process by not having
to build python wheels multiple times.
* Use plain output from buildkit
* Make deploy script work with Python 2.7
Also cache python deps across builds.
* Fix more python3 things
* Install dependency in python3
* Bump to use Alpine 3.12 since 3.8 is now EOL.
* Manually install pip in all images.
* Rename all py- modules to py3- modules.
* Replace mysqldb with mysqlclient library for Mysql support in web.
* Create rolling releases using the Gitlab API.
This commit builds rolling releases of Container images using the latest commit
on master branch if the pipeline passed for it. The script which gets the
references is still un-tested and should be tested.
The latest commit hashes are passed as arguments to the Dockerfile, which is
then used by PIP to install the specific version of the dependency.