1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-14 10:53:30 +02:00
Commit Graph

94 Commits

Author SHA1 Message Date
Dimitri Huisman
415c55e73b
Update version numbers 2024-06-09 14:56:34 +00:00
Dimitri Huisman
412c8c48d6
Merge branch 'master' into preparations-release 2024-06-09 11:43:02 +00:00
Dimitri Huisman
2558ae3bc9
Add automatic tests for RESTful API. Fix all remaining issues that I could find with the API. 2024-03-22 15:01:37 +00:00
Dimitri Huisman
df6dcf0d44
update docker/login-action@v2 to docker/login-action@v3 2024-03-18 15:24:43 +00:00
Dimitri Huisman
a8cdd6ca9c
Update actions in CI github workflow files 2024-03-18 15:12:10 +00:00
Dimitri Huisman
c2348fc28f
Initial changes for new release. Releases.rst and CHANGELOG.md must still be updated. 2024-03-16 16:35:34 +00:00
AJ Jordan
9f304c0013
Remove redundant variable assignment 2024-03-07 00:40:02 -05:00
Florent Daigniere
98e1142bea update the github action too 2023-10-13 16:56:12 +02:00
Florent Daigniere
c008ce6608 review 2023-04-08 12:47:41 +02:00
Florent Daigniere
a72d3cf3ec maybe fix eval 2023-04-08 11:32:46 +02:00
Dimitri Huisman
c1e00f1478
Forgot to update the hcl file to the new build-ci.hcl file 2023-04-07 10:18:53 +00:00
Dimitri Huisman
66274ae4cc
Use intermediate images for CI workflow
First the base and assets images are build and pushed to ghcr.io.
After that all main images are build. These images use the previously
build base/assets image by pulling it from ghcr.io.
2023-04-07 10:09:54 +00:00
Dimitri Huisman
ddcdf8b82a
Fix tag-release step in workflow which prevented github releases from being created automatically.
Cause was that a specific method is required for assigning multi-line strings in github workflow files:
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings
2023-04-06 07:46:28 +00:00
Dimitri Huisman
453acad21f
Initial changes for Mailu 2.0 release 2023-04-02 16:45:42 +00:00
Dimitri Huisman
c829cd90a0
Adapt mirror.yml that it can only be run manually
When starting it manually, you can provide the tag that must be synchronised
2023-03-28 21:02:57 +02:00
Dimitri Huisman
250a200edb
Mirror alpine image to ghcr.io/mailu docker org to prevent docker pull rate limit.
Use mirrored ghcr.io/mailu/alpine image as base image.
2023-03-28 18:23:35 +00:00
Dimitri Huisman
30dfdb4072
Make sure that the arm build also uses build-cache.
Remove the step of building the base image. This is not required.
when it is build for the first time for an image, it will be part of
the build cache of that image.
2023-03-27 13:21:12 +00:00
Dimitri Huisman
709edb522b
Introduce connection string (database url) for roundcube.
Remove database choice from setup.
Remove the old *DB_* database env variables from the documentation.
The env vars are deprecated now. They will be removed after the upcoming
Mailu release.
2023-03-26 12:21:00 +00:00
Dimitri Huisman
a2c811d28a
Prevent creation of unknown/unknown arch.
Set more forgiving timeouts for scenario where image is build without cache.
Set better readable tags.
2023-03-23 07:03:24 +00:00
Dimitri Huisman
1d2053204a
Also forgot the --push argument. 2023-03-21 15:22:45 +00:00
Dimitri Huisman
64a132fdd9
Forgot to change the target. 2023-03-21 15:12:43 +00:00
Dimitri Huisman
5bd528319b
Provide a changelog for minor releases. The github release will now:
* Provide the changelog message from the newsfragment of the PR that triggered the backport.
* Provide a github link to the PR/issue of the PR that was backported.

Switch to building multi-arch images. The images build for pull requests, master and production
are now multi-arch images for the architectures:
* linux/amd64
* linux/arm64/v8
* linux/arm/v7

Enhance CI/CD workflow with retry functionality. All steps for building images are now automatically
retried. If a build temporarily fails due to a network error, the retried step will still succeed.
2023-03-21 14:47:37 +00:00
Dimitri Huisman
0d048d24d3
Fix build.hcl / CI.yml regarding labels
The version label and versions passed to docs image were based on
the tag. Now we first build the images with -build appended to the
tag, we cannot use the tag as version label.

A new env var is introduced to pass the version to the build.hcl file.
This will be used to set the VERSION label in the image, and pass
as build arguments to the docs image.
2023-03-17 13:05:33 +00:00
Dimitri Huisman
120cd34989
Switch the container registry used for deploying images from docker
to ghcr.io (github). Images are now first build with '-build'
appended to the tag. E.g. ghcr.io/mailu/admin:master-build.
This is to prevent the image being available before automatic testing has completed.
In the deploy job, the final image is pushed (this still works the same).

Update setup & documentation for switch to ghcr.io
2023-03-16 17:38:25 +00:00
Florent Daigniere
3e45a791cf Implement oletools to filter out bad macros 2022-11-23 15:42:46 +01:00
Florent Daigniere
d3d7916b58 Merge remote-tracking branch 'upstream/master' into upgrade-alpine 2022-11-21 17:22:15 +01:00
Florent Daigniere
e79d7fed55 Reduce the number of warnings on the CI 2022-11-17 16:21:52 +01:00
Florent Daigniere
dc9e2a3e70 Upgrade Snappymail to 2.21 and merge the webmail containers 2022-11-12 11:34:58 +01:00
Dimitri Huisman
2a3266b6b8
Forgot to update both deploy jobs 2022-11-04 14:13:06 +01:00
Dimitri Huisman
b2e47642f7
Tag the images with latest tag as well. 2022-11-04 13:49:05 +01:00
Florent Daigniere
3e9def6cd9 Use the new notation: arm64/v8 instead of arm64 2022-11-04 10:46:45 +01:00
Dimitri Huisman
db7ce8c83e
Login docker.io to prevent rate limiting for pulling images 2022-11-01 15:18:03 +00:00
Dimitri Huisman
b3151e9904
Actually push the build arm images to ghcr.io 2022-11-01 14:36:17 +00:00
Dimitri Huisman
6549dbf247
Sigh. needs.* context is only available if you include it in needs: 2022-11-01 10:56:33 +00:00
Dimitri Huisman
c7cba1b075
Finishing touches for fixing arm builds
- Use self-hosted runners for arm base image
- Use seperate docker image cache for arm build
- Remove unneeded needs items.
2022-11-01 10:49:44 +00:00
Dimitri Huisman
e915e444e9
Remove superfluous cache export entry for arm 2022-11-01 09:38:14 +00:00
Dimitri Huisman
4be0cbf4da
Switch workflow to ghcr.io
- Build images & build cache are pushed to ghcr.io.
- Tests will make use of the images pushed to ghcr.io.
- Deploy step only copies images from ghcr.io to docker.io.
- Resolves strange build errors tied to buildx+intermediate builds
- Results in quicker build times.
2022-10-28 11:52:49 +00:00
Dimitri Huisman
451738e32b We want the function result. Not the function statement. 2022-10-19 11:35:57 +00:00
Dimitri Huisman
f9ba0e688f Removed syntax error 2022-10-19 11:25:42 +00:00
Dimitri Huisman
92cb8c146b Refine build_test_deploy.yml:
Build base image before the other images.
Change cache key to make it is re-used for all builds. This is not
dangerous. The docker build process can determine itself whether
a cache can be safely re-used or not.
2022-10-19 11:02:22 +00:00
Florent Daigniere
254277a829
runner.temp is what should be used 2022-09-01 14:45:44 +02:00
Dimitri Huisman
22fe65e4d8 Use RUNNER_TEMP for storing cache files. 2022-09-01 12:39:23 +00:00
Dimitri Huisman
56d0e795eb
Push arm images via arm self-hosted runner 2022-08-31 21:07:27 +02:00
Dimitri Huisman
d76d3b4959 Switch to ARM64 self-hosted for ARM build 2022-08-31 18:17:45 +00:00
Dimitri Huisman
5732b2316f Switch to local build cache, cached via actions/cache@v3
The previous method of using gha cache via buildx proved to be
unreliable. Using local cache via actions/cache@v3 is much more
reliable.
The build job will re-use cache from previous workflow runs.
The total workflow time is still similar ~12 minutes.
2022-08-23 21:09:03 +00:00
Dimitri Huisman
312a733ae3 prefix the cache key with a hash (to help with sharding) 2022-08-20 09:18:54 +00:00
Dimitri Huisman
f35d82b3a0 Also ${{ github.run_id }} for cache key.
This makes rue that the cache key is unique across workflow runs
2022-08-20 08:51:56 +00:00
Dimitri Huisman
d56eb16f52 Hotfix for workflow. For build step do not build from cache.
Make sure cache layers are unique by using ${{ github.ref }}
2022-08-20 08:43:27 +00:00
Dimitri Huisman
dd3f1a3376 Switch to mode=min for GHA cache for docker buildx to prevent ratelimiting in GHA workflow 2022-08-20 07:49:36 +00:00
Dimitri Huisman
ae18217e07 Fix adding -arm tag correctly to PINNED_MAILU_VERSION in arm.yml. 2022-08-03 13:15:32 +00:00