803 Révisions (08be23360756f1fa4dc2841d04b0dbe7cff68cf9)

Auteur SHA1 Message Date
bors[bot] 08be233607
Merge #2058
2058: Implement versioning for CI/CD workflow. r=mergify[bot] a=Diman0

## What type of PR?

Feature!

## What does this PR do?
This PR introduces 3 things
- Add versioning (tagging) for branch x.y (1.8). E.g. 1.8.0, 1.8.1 etc.
  - docker repo will contain x.y (latest) and x.y.z (pinned version) images.
  - The X.Y.Z tag is incremented automatically. E.g. if 1.8.0 already exists, then the next merge on 1.8 will result in the new tag 1.8.1 being used.
- Make the version available in the image.
  -  For X.Y and X.Y.Z write the version (X.Y.Z) into /version on the image and add a label with version=X.Y.Z
	  -  This means that the latest X.Y image shows the pinned version (X.Y.Z e.g. 1.8.1) it was based on. Via the tag X.Y.Z you can see the commit hash that triggered the built.
  -  For master write the commit hash into /version on the image and add a label with version={commit hash}
-  Automatic releases. For x.y triggered builts (e.g. merge on 1.9) do a new github release for the pinned x.y.z (e.g. 1.9.2). 
  -  Release shows a static message (see RELEASE_TEMPLATE.md) that explains how to reach the newsfragments folder and change the branch to the tag (x.y.z) mentioned in the release. Now you can get the changelog by reading all newsfragment files in this folder.

This PR does not change anything to our workflow (what we (human persons) do). Our processes are still exactly the same. The above introduced logic is automatic. When we backport to X.Y all the magic for creating the pinned version X.Y.Z is handled by the CI/CD workflow.

### Related issue(s)
- closes #1182

## 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.

## Testing
Suggested testing steps. This should cover all situations including BORS. It does require that you use your own docker repo or temporarily create a new one.
Suggested testing steps.
1. Create new github repo.
2. Add the required docker secrets to the project (see beginning of CI.yml for the secret names), DOCKER_UN, DOCKER_PW, DOCKER_ORG, DOCKER_ORG_TESTS.
3. Clone the project.
4. Copy the contents of the PR to the cloned project.
5. Push to your new github repo.
6. Now master images are built. Check that images with tag master are pushed to your docker repo
7. Check with docker inspect nginx:master that it has the label version={commit hash}.
8. Run an image, run `docker-compose exec <name> cat /version`. Note that /version also contains the pinned version. For master the pinned version is the commit hash.
9. Create branch 1.8. 
10. Push branch 1.8 to repo.
11. Note that tags 1.8 and 1.8.0 are built and pushed to docker repo
12. Inspect label and /version. Note that 1.8 and 1.8.0 both show version 1.8.0.
13. Push another commit to branch 1.8.
14. Note that tags 1.8 and 1.8.1 are built and pushed to docker repo
15. Inspect label and /version. Note that 1.8 and 1.8.1 both show version 1.8.1.
16. Let's check BORS stuff.
17. Create branch testing.
18. Push the commit with the exact commit text (IMPORTANT!!): `Try #1234:`'.
19. Note that images are built and pushed for tag `pr-1234`.
20. Inspect label and /version. Note that the version is `pr-1234`.
20. Create branch staging.
21. Push the commit with commit text: `Merge #1234`.
22. Note that this image is not pushed to docker (as expected).

but you could also check the GH repo and docker repo I used:
https://github.com/Diman0/Mailu_Fork
https://hub.docker.com/r/diman/rainloop/tags

Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
il y a 4 ans
Dimitri Huisman d76773b1df Also check the SMTP port for webmail/token il y a 4 ans
Dimitri Huisman f26fa8da84 Fix Webmail token check. Fix Auth-Port for Webmail. #2079 il y a 4 ans
Florent Daigniere 4fffdd95e9 Reduce logging level il y a 4 ans
Dimitri Huisman f7677543c6 Process code review remarks
- Moved run to bottom of Dockerfile to allow using unmodified / cached states.
- Simplified bash code in deploy.sh.
- Improved the large bash one-liner in CI.yml. It could not handle >9 for 1.x.
il y a 4 ans
Dimitri Huisman 56dd70cf4a Implement versioning for CI/CD workflow (see #1182). il y a 4 ans
Alexander Graf aa1d605665
Merge remote-tracking branch 'upstream/master' into passlib il y a 4 ans
Alexander Graf 84a5514a97
fixed auto reply form il y a 4 ans
Alexander Graf cf7914d050
fixed field iteration il y a 4 ans
Alexander Graf fd5bdc8650
added localized date output il y a 4 ans
Alexander Graf 0315ed78d9
Merge remote-tracking branch 'upstream/master' into update_deps il y a 4 ans
bors[bot] 56cbc56df7
Merge #2044
2044: Vault/rspamd: don't return any key for relayed domains r=mergify[bot] a=nextgens

## What type of PR?

enhancement

## What does this PR 

Don't return any key for relayed domains. We may want to revisit this (ARC signing)... but in the meantime it saves from a scary message in rspamd.
    
```signing failure: cannot request data from the vault url: /internal/rspamd/vault/v1/dkim/ ...```


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
il y a 4 ans
bors[bot] 78dd13a217
Merge #2042
2042: Add MESSAGE_RATELIMIT_EXEMPTION r=mergify[bot] a=nextgens

## What type of PR?

Enhancement

## What does this PR do?

Add a new knob called ```MESSAGE_RATELIMIT_EXEMPTION```.

### Related issue(s)
- #1774

## 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
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file.


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
il y a 4 ans
Florent Daigniere 6bf1a178b9 Go with ghostwheel42's suggestion il y a 4 ans
Florent Daigniere b68033eb43 only parse it once il y a 4 ans
Alexander Graf 82e14f1292
Merge branch 'master' into update_deps il y a 4 ans
bors[bot] f0188d9623
Merge #2034
2034: Add timezone to containers r=mergify[bot] a=DjVinnii

## What type of PR?

Enhancement

## What does this PR do?
This PR adds the tzdata package so that the environment variable `TZ` can be used to set the timezone of containers.

### Related issue(s)
- closes #1154 

## 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: DjVinnii <vincentkling@msn.com>
il y a 4 ans
Florent Daigniere dc6e970a7f handle HTTP too il y a 4 ans
Florent Daigniere bbef4bee27 Don't return any key for relayed domains
We may want to revisit this (ARC signing)... but in the meantime
it saves from a scary message in rspamd

signing failure: cannot request data from the vault url: /internal/rspamd/vault/v1/dkim/ ...
il y a 4 ans
Florent Daigniere 6c6b0b161c Set the right flags on the rate_limit cookie il y a 4 ans
Florent Daigniere f9373eacab Merge remote-tracking branch 'upstream/master' into misc il y a 4 ans
Florent Daigniere 5714b4f4b0 introduce MESSAGE_RATELIMIT_EXEMPTION il y a 4 ans
DjVinnii 30d7e72765 Move TZ to Advanced settings il y a 4 ans
DjVinnii 225160610b Set default TZ in Dockerfiles il y a 4 ans
DjVinnii 81e33d3679 Add default TZ to config manager il y a 4 ans
Alexander Graf 97e79a973f fix sso login button spacing again il y a 4 ans
Alexander Graf 73ab4327c2 updated database libraries (sqlalchemy etc.)
this is working fine, but introduces a sqlalchemy warning
when using config-import:

  /app/mailu/schemas.py:822:
    SAWarning: Identity map already had an identity for (...),
    replacing it with newly flushed object.
    Are there load operations occurring inside of an event handler
    within the flush?
il y a 4 ans
Alexander Graf 4669374b9e use python wheels il y a 4 ans
Alexander Graf 85d86d4156 some more libs updated il y a 4 ans
Alexander Graf ffd99c3fa8 updated flask
ConfigManager should not replace app.config - this is causing trouble
with some other flask modules (swagger).
Updated ConfigManager to only modify app.config and not replace it.
il y a 4 ans
Alexander Graf 87884213c4 update misc helper libs il y a 4 ans
Alexander Graf 56f65d724d update babel il y a 4 ans
Alexander Graf 5238b00f0b update alembic il y a 4 ans
Alexander Graf f613205fe1 update tenacity il y a 4 ans
Alexander Graf 833ccb5544 reload page using GET when selecting language il y a 4 ans
Alexander Graf 8b15820b01 fix sso login button spacing il y a 4 ans
Alexander Graf 26fb108a3f updated Flask-Login il y a 4 ans
Alexander Graf abc4112242 updated Werkzeug, Click and Flask-Migrate il y a 4 ans
Alexander Graf f1d7bedd1b fix display of range inputs (again) il y a 4 ans
Alexander Graf 13e6793c9f Merge remote-tracking branch 'upstream/master' into update_deps il y a 4 ans
Alexander Graf aca1e13648 update socrate - will be removed later il y a 4 ans
Alexander Graf 866741bcbe updated WTForms-Components deps il y a 4 ans
Alexander Graf ef19869cde updated redis il y a 4 ans
Alexander Graf d8efd3057c updated idna il y a 4 ans
Alexander Graf 8ad8cde0e2 removed some obsolete requirements il y a 4 ans
Alexander Graf 3ac1b3d86c update pyyaml and pygments il y a 4 ans
Alexander Graf 40cdff4911 updated dnspython il y a 4 ans
Alexander Graf dcbe55f062 updated crypto il y a 4 ans
Alexander Graf 771b2d1112 duh il y a 4 ans
Alexander Graf 23d0cd0466 update tabluate. fix audit.py and include in container il y a 4 ans