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
* Use requirements.txt for automated version bumps.
Move the Mailman requirements into requirements.txt file so that
we can use dependabot for automated version bumping.
* Remove constraint on mistune
* Add requirements file to dockerfile
* Add dependency on tzdata
Mailman's convert_html_to_plaintext setting relies on the value of
html_to_plain_text_command which is by default set to:
/usr/bin/lynx -dump $filename
This will fail on the current image because lynx is not installed.
Simply add lynx to the list of packages to install to correct this.
The file path for the lynx command installed via the Alpine package does
seem to be /usr/bin/lynx which means we don't need to update any
configuration to use this command. The defaults are sufficient.
This new version sends the api_key as an Authorization header instead of
a GET parameter, which fixes a security vulnerability. The change is needed
since Hyperkitty has been upgraded to 1.3.5.
* 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.
Even though the 'master.lck' is supposed to prevent race conditions, it needs to
be manually removed if the container did not shutdown gracefully. Remove the
manual check for the lock file and force mailman to remove it.
Also, set the stop_grace_period to 30s, which would allow Core to stop
gracefully and not leave the lock file over. Default value in case of Docker is 10s.