You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mailu/towncrier/newsfragments
bors[bot] 53de7b7d60
Merge #2403
2403: Feature: switch CI/CD from build to buildx r=mergify[bot] a=Diman0

## What type of PR?

Feature and enhancement

## What does this PR do?

Switch from docker build to buildx for CI/CD.
    - The main workflow file has been optimised and simplified.
    - Images are built in parallel when building locally resulting in much faster build times.
    - The github action workflow is about 50% faster.
    - Arm images are built as well. These images are not tested due to restrictions of github actions (no arm runners). The tags of the images have -arm appended to it. The arm images are built on merge on master and release branch (x.y). They do not influence the normal CI/CD workflow used for bors (for PR) and real releases (merge on master and branch x.y for x86_64). 
    - Arm images (and normal x86_64 images) can also be built locally.
    - Reusable workflow is introduced for building, testing and deploying the images. This allows the workflow to be reused for other purposes in the future.
    - Workflow can be manually triggered. This allows forked Mailu projects to also use the workflow for building images.

The main workflow makes use of github actions cache to store the cache layer. This layer is used to quickly rebuilt the images in the testing step and deploy step.

Unfortunately the building the arm images fails sometimes due to timeouts. Sometimes the connection to github actions cache is very slow. Restarting the workflow from the last failed step resolves this. I have not observed this with the normal build.

Just as previous time, you can use a forked project for testing the changes (https://github.com/Diman0/Mailu_Fork). You should still have owner access. I have created branch 1.11 for testing. You can see I already push 4 times to branch 1.11 (current version is 1.11.3).

### Related issue(s)
- Mention an issue like: #001
- closes #2383 
- closes #1830
- closes #1200

## Prerequisites
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file.


Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
2 years ago
..
224.feature Ask users to check their DNS records 3 years ago
2099.bugfix Create 2099.bugfix 3 years ago
2117.bugfix Fix #2117. Gpg-agent package was missing for roundcube image. 3 years ago
2121.misc Add newsfragment for PR #2121. 3 years ago
2124.bugfix Tag for release is correctly tagged to branch x.y. 3 years ago
2125.bugfix towncrier 3 years ago
2135.bugfix towncrier 3 years ago
2138.bugfix Fix 2138: Pin DANE with the full cert 3 years ago
2139.bugfix Add newsfragment for bugfix for issue 2139 2 years ago
2141.bugfix Create 2141.bugfix 3 years ago
2185.doc Create 2185.doc 3 years ago
2193.bugfix Create 2193.bugfix 3 years ago
2195.bugfix Create 2195.bugfix 3 years ago
2196.bugfix Create 2196.bugfix 3 years ago
2199.bugfix Update 2199.bugfix 3 years ago
2207.bugfix Add bugfix description 3 years ago
2210.bugfix Create 2210.bugfix 3 years ago
2211.misc Ensure we use IMAP IDLE like it's supposed to work 3 years ago
2213.feature typo 3 years ago
2214.doc Update fail2ban faq doc 3 years ago
2221.feature Add 2221.feature 3 years ago
2239.bugfix towncrier 3 years ago
2249.bugfix Fix broken setup. Not all dependencies were pinned. As usual a dependency had a breaking update. 3 years ago
2260.bugfix towncrier 3 years ago
2278.feature Changelog 3 years ago
2281.bugfix Create 2281.bugfix 3 years ago
2284.bugfix Create 2284.bugfix 3 years ago
2295.feature Add changelog 3 years ago
2302.bugfix create PR2302 changelog 3 years ago
2325.bugfix postfix: wrap IPv6 CIDRs in square brackets for RELAYNETS 3 years ago
2338.misc towncrier fragment 2338 about X-XSS-Protection removal 3 years ago
2346.bugfix Silence some errors in nginx 3 years ago
2357.misc Switch to ffdhe3072 to enable RFC 7919 3 years ago
2368.bugfix Re-enable the built-in nginx resolver for traffic going through the mail plugin. 2 years ago
2383.misc Switch from docker build to buildx for CI/CD. 2 years ago
2402.bugfix Forwarding emails option in user settings did not support 1 letter domains. 2 years ago
2415.bugfix Create 2415.bugfix 2 years ago