CI: Rework artifacts handling #144

Closed
opened 2021-09-02 13:13:00 +00:00 by jfowl · 9 comments
jfowl commented 2021-09-02 13:13:00 +00:00 (Migrated from gitlab.com)

Plan:

  • Branch next
    • Binaries: CI artifact, set expiry to 90 days
    • Docker: conduit:next and conduit:commit-<shorthash>
  • Tags vX.Y.Z
    • Binaries: CI artifact, set expiry to never
    • Docker -> conduit:vX.Y.Z and conduit:vX.Y.Z-alpine
    • Maybe automagically create a release with links to the specific artifacts. Test that on separate project.
  • Branch master
    • Binaries: CI artifact, set expiry to 365 days
    • Docker: conduit:latest, conduit:latest-alpine

cc @Weasy

Plan: - Branch `next` - Binaries: CI artifact, set expiry to 90 days - Docker: `conduit:next` and `conduit:commit-<shorthash>` - Tags `vX.Y.Z` - Binaries: CI artifact, set expiry to never - Docker -> `conduit:vX.Y.Z` and `conduit:vX.Y.Z-alpine` - Maybe automagically create a release with links to the specific artifacts. Test that on separate project. - Branch `master` - Binaries: CI artifact, set expiry to 365 days - Docker: `conduit:latest`, `conduit:latest-alpine` cc @Weasy
Weasy commented 2021-09-02 13:21:42 +00:00 (Migrated from gitlab.com)

Sounds good, but i am not completely sure about tags, or to be more precise from where and when the tags will be triggered and if then a conduit:vX.Y.Z docker image could be newer than a latest image. Can that happen?

Retention policies looking good to me. I don't think we have control over that on Dockerhub, but maybe we can apply to some opensource program to get more freebies.

Sounds good, but i am not completely sure about tags, or to be more precise from where and when the tags will be triggered and if then a `conduit:vX.Y.Z` docker image could be newer than a `latest` image. Can that happen? Retention policies looking good to me. I don't think we have control over that on Dockerhub, but maybe we can apply to some opensource program to get more freebies.
jfowl commented 2021-09-02 13:27:16 +00:00 (Migrated from gitlab.com)

i am not completely sure about tags, or to be more precise from where and when the tags will be triggered and if then a conduit:vX.Y.Z docker image could be newer than a latest image. Can that happen?

The tags should be triggered "manually", when Timo decides to bump the version number and release a specific version of conduit (as he did with v0.2.0.).

I'm not sure if that could result in conduit:vX.Y.Z being newer (regarding the date) than conduit:latest, but it should still contain the same binary as in the build from master most of the time.

> i am not completely sure about tags, or to be more precise from where and when the tags will be triggered and if then a `conduit:vX.Y.Z` docker image could be newer than a `latest` image. Can that happen? The tags should be triggered "manually", when Timo decides to bump the version number and release a specific version of conduit (as he did with [v0.2.0.](https://gitlab.com/famedly/conduit/-/tags/v0.2.0)). I'm not sure if that could result in `conduit:vX.Y.Z` being newer (regarding the date) than `conduit:latest`, but it should still contain the same binary as in the build from master most of the time.
Weasy commented 2021-09-02 13:30:51 +00:00 (Migrated from gitlab.com)

Ok. To be sure, we could just let the tag-pipeline push the latest tags, too. Just to be safe.

Ok. To be sure, we could just let the `tag`-pipeline push the `latest` tags, too. Just to be safe.
jfowl commented 2021-09-02 13:32:43 +00:00 (Migrated from gitlab.com)

This has the (though unlikely) risk of running a pipeline for an old tag and overwriting the latest tag while doing so.

This has the (though unlikely) risk of running a pipeline for an old tag and overwriting the latest tag while doing so.
Weasy commented 2021-09-02 13:39:18 +00:00 (Migrated from gitlab.com)

Hm...true. Then let's just do it like you wrote above. We can still change it if we run into problems.

Hm...true. Then let's just do it like you wrote above. We can still change it if we run into problems.
jfowl commented 2021-09-02 13:46:10 +00:00 (Migrated from gitlab.com)

Okay, I'll try to implement this today then.
Will be two MRs: One for next, one for master.

Okay, I'll try to implement this today then. Will be two MRs: One for next, one for master.
jfowl commented 2021-09-02 15:21:15 +00:00 (Migrated from gitlab.com)

mentioned in merge request !187

mentioned in merge request !187
jfowl commented 2021-09-02 15:21:26 +00:00 (Migrated from gitlab.com)

mentioned in merge request !186

mentioned in merge request !186
jfowl commented 2021-09-03 07:36:58 +00:00 (Migrated from gitlab.com)

MR merged, this is done.

Follow-Up for auto-releases in different Issue

MR merged, this is done. Follow-Up for auto-releases in different Issue
Sign in to join this conversation.
No labels
Android
CS::needs customer feedback
CS::needs follow up
CS::needs on prem installation
CS::waiting
Chrome
Design:: Ready
Design:: in progress
Design::UX
E2EE
Edge
Firefox
GDPR
Iteration 13 IM
Linux
MacOS
Need::Discussion
Need::Steps to reproduce
Need::Upstream fix
Needs:: Planning
Needs::Dev-Team
Needs::More information
Needs::Priority
Needs::Product
Needs::Refinement
Needs::Severity
Priority::1-Critical
Priority::2-Max
Priority::3-Impending
Priority::4-High
Priority::5-Medium
Priority::6-Low
Priority::7-None
Progress::Backlog
Progress::Review
Progress::Started
Progress::Testing
Progress::Triage
Progress::Waiting
Reporter::Sentry
Safari
Target::Community
Target::Customer
Target::Internal
Target::PoC
Target::Security
Team:Customer-Success
Team:Design
Team:Infrastructure
Team:Instant-Messaging
Team:Product
Team:Workflows
Type::Bug
Type::Design
Type::Documentation
Type::Feature
Type::Improvement
Type::Support
Type::Tests
Windows
blocked
blocked-by-spec
cla-signed
conduit
contribution::advanced
contribution::easy
contribution::help needed
from::review
iOS
p::ti-tenant
performance
product::triage
proposal
refactor
release-blocker
s: dart_openapi_codegen
s::Famedly-Patient
s::Org-Directory
s::Passport-Generator
s::Requeuest
s:CRM
s:Famedly-App
s:Famedly-Web
s:Fhiroxide
s:Fhiroxide-cli
s:Fhiroxide-client
s:Fhirs
s:Hedwig
s:LISA
s:Matrix-Dart-SDK
s:Role-Manager
s:Synapse
s:User-Directory
s:WFS-Matrix
s:Workflow Engine
s:dtls
s:famedly-error
s:fcm-shared-isolate
s:matrix-api-lite
s:multiple-tab-detector
s:native-imaging
severity::1
severity::2
severity::3
severity::4
technical-debt
voip
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Matthias/conduit#144
No description provided.