Comments (4)
OK, thanks for looking into the caching issue. Invalidating the cache will make the CI slower, but it's the right decision.
Point taken re: responsibility. My interest in maintainership is to ensure that there is not a single point of failure (e.g. if you become busy or unavailable). I subscribe to debian-security so I will be aware if there are exim updates.
from smtp.
Thanks for your question. In fact, the image with the :dev-master
tag gets rebuilt every week (see also https://gitlab.com/ix.ai/smtp/-/pipelines).
The :latest
tag gets rebuilt every time a new git tag gets created. I'll do so now, even though no changes have been made to the codebase.
I would be happy to add one more maintainer to it - even happier to automate the security updates 🙂
from smtp.
Thanks for the info. My gitlab handle is @jasonhildebrand if you want to add me to the project as a maintainer.
One question I have is how to ensure that upstream security fixes (from debian) get included in a new build. I am not familiar with buildx, but I see you have enabled build caching.
The following output is from https://gitlab.com/ix.ai/smtp/-/jobs/1567592267
#12 [linux/arm/v6 2/3] RUN set -xeu; export DEBIAN_FRONTEND=noninteractive; export TERM=linux; apt-get update; apt-get -y dist-upgrade; apt-get install -y --no-install-recommends exim4-daemon-light iproute2 ; apt-get -y --purge autoremove; apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/* ; find /var/log -type f | while read f; do echo -ne '' > $f; done
#12 sha256:e4ae234be6553b8657e707b9762194bf10abe5ec6ec6c3d38c5e25bc4d88cc78
#12 CACHED
If I understand correctly, this step is being produced from the cache, so it's not actually fetching the latest exim version (or other dependencies) from debian. Maybe we need to disable caching to ensure that the latest upstream security fixes get included?
from smtp.
I've checked now and the cache in that job has been created in the previous step - the relevant job is https://gitlab.com/ix.ai/smtp/-/jobs/1563510215:
docker buildx build --platform=linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6,linux/386 --progress=plain --cache-from=registry.gitlab.com/ix.ai/smtp:cache --cache-to=registry.gitlab.com/ix.ai/smtp:cache --build-arg CI_COMMIT_REF_NAME=master --build-arg CI_PIPELINE_ID=365355532 --build-arg CUSTOM_VERSION=none --pull --tag=registry.gitlab.com/ix.ai/smtp:dev-master --tag=ixdotai/smtp:dev-master --push .
Due to the fact that the base image was changed since the last successful build (in Dockerfile on L1: FROM debian:stable-slim
, the cache has been automatically invalidated.
I will add to the Dockerfile an ARG for the CI_PIPELINE_ID
(it will be enough to have it there without using it), this will invalidate the cache every time - since the value changes at every single run. It's a lot easier than changing the pipeline file common.yml that's shared across projects.
One additional note: with great power comes great responsibility. You have now the permission to merge to master and to create vXXX
tags.
from smtp.
Related Issues (20)
- DNS lookup fails HOT 1
- User authentication when delivering mails to Exim HOT 2
- Possibility to remove version number from banner? HOT 2
- Persistance - what volumes? HOT 3
- Amazon SES environment variables did not include MAIL FROM values HOT 1
- Get error "lost while reading message data" some time HOT 2
- Remote IP address HOT 2
- GitHub container registry package unavailable HOT 1
- Helm chart HOT 2
- Use as smarthost with authentication? HOT 6
- Document DKIM_KEY support, fix DKIM permission bug HOT 1
- Relay as gmail is sending a copy to inbox HOT 5
- Support for SMTP authentification HOT 1
- Better verbosity control HOT 3
- ARMv7 not working HOT 13
- Allow underscores in EHLO HOT 4
- Cannot open main log file "/var/log/exim4/mainlog": Permission denied HOT 2
- retry time not reached for any host for 'mydomain.com' HOT 2
- Is it possible to forward incoming emails? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smtp.