tests: add nightly workflow - #16
Conversation
missytake
left a comment
There was a problem hiding this comment.
Looks good to me, but I guess others should look at this as well :)
I think there was also the idea to run https://github.com/chatmail/core/blob/main/.github/workflows/ci.yml against the four different deployment options? afaict you can only pass one CHATMAIL_DOMAIN to it, so it doesn't seem to be cross-server. Which should be enough, too :D
but maybe a cmlxc core-test command is out of scope for this PR, this is already a good start.
How do we get notified on failure?
hpk42
left a comment
There was a problem hiding this comment.
it's a bit weird this is living in cmlxc but i guess it's worth a try if this nightly approach reliably works.
ee8b08c to
2f93e70
Compare
I think we could just move it over to the relay repo and call the reusable workflow from there. The question about notification on test failures is relevant: It seems one way to do it would be to allow the action to create an issue when the build fails (and potentially auto-close it when it succeeds again). Or somehow patching cmsend in, with its state in a secret or something. |
- Add cmlxc_ref input to test feature branches - Disable AppArmor for Docker-in-LXC systemd support - Cache localchat-docker image (strip Docker images before export) - Split cache into restore/save for better failure handling - Per-service failure diagnostics (dovecot, postfix, failed units) - install incus-base instead of full incus package - trimmed=: normalise whitespace via xargs before eval so indented commands in the multiline cmlxc_commands input parse correctly and display cleanly in CI ::group:: labels - get_service_logs.sh: debug logging calls /usr/local/sbin/get-service-logs (installed via COPY in the Docker image) which dumps per-service journalctl output, failed units, dovecot config, and TLS cert paths
.github/workflows/nightly.yml: - Scheduled at 02:17 UTC daily (also workflow_dispatch for manual runs). - based on reusable workflow
.github/workflows/nightly.yml: