Another thing to bear in mind, as its a pain point at the ASF, git tags
aren't immutable, so you really want to tie you commit to a tag (for ease
of digestion) and a SHA hash for immutability.

--------------

Director Meteorite.bi - Saiku Analytics Founder
Tel: +44(0)5603641316

(Thanks to the Saiku community we reached our Kickstart
<http://kickstarter.com/projects/2117053714/saiku-reporting-interactive-report-designer/>
goal, but you can always help by sponsoring the project
<http://www.meteorite.bi/products/saiku/sponsorship>)

On 16 June 2016 at 23:54, Ryan Beisner <ryan.beis...@canonical.com> wrote:

> Git tagging is certainly helpful to developers, so a big +1 to that for
> git-based projects.
>
> I think there is also a definite need to tie a specific charm store charm
> revision to its exact place and "time" of origin.  Charms which are pushed
> into the charm store (and the deployed charms) are a bit mysterious in
> terms of source code origin and revision level.  The two relevant `charm
> set` tagging mechanisms (homepage and bugs-url) are helpful, and we do
> populate that info.  But to get the granularity of identification for our
> desired level of support, some other "thing" is necessary.
>
> This week, we started injecting repo-info files [1] into OpenStack charms
> [2] just ahead of the push and publish automation in our git/gerrit CI
> pipeline.  The repo-info file will only ever exist in pushed charms, never
> in the charm source code repos.  From the user and support perspective,
> this ensures that the code origin and revision info is in the user's
> possession at all times, and that it flows through and exists on-disk in
> all units in the deployed models.  Many moons later, if a bug is raised or
> a support call comes in, there will be a way to know exactly what charm
> code is in play, down to the repo and commit hash level.
>
> Combining both a git tag breadcrumb and a repo-info breadcrumb would
> really squash the code origin mystery from any vantage point.  I'm not
> certain we can tag commits via the upstream OpenStack cgit:gerrit workflow,
> but we'll look into it.
>
> On another plane:  I've seen some charm metadata buckets which appear to
> accept arbitrary data bits.  It may be useful to also stash repo/commit
> type of info there, but I've not explored that much at all.
>
> [1]
> https://api.jujucharms.com/charmstore/v5/~openstack-charmers-next/xenial/neutron-gateway/archive/repo-info
> [2]
> https://jujucharms.com/u/openstack-charmers-next/neutron-gateway/xenial
>
> Cheers!
>
> Ryan
>
>
> On Thu, Jun 16, 2016 at 4:42 PM, David Britton <
> david.brit...@canonical.com> wrote:
>
>> We are planning a tag for every push for the landscape-server and client
>> charms, and bundles.  +1 on it being mentioned as a best practice (the same
>> type of thing as when you release a version of any other software!).
>> Though, I would recommend using the full charm store identifier eg:
>> 'cs:~user/charm-3'.  Basically, the full standard out of the charm push
>> operation.
>>
>> I also like the repo-info for traceability the other way around.  They
>> solve a similar problem but depending on where you are looking are both
>> useful.
>>
>> On Thu, Jun 16, 2016 at 2:54 PM, Merlijn Sebrechts <
>> merlijn.sebrec...@gmail.com> wrote:
>>
>>> Yep, seems like something useful!
>>>
>>> 2016-06-16 22:48 GMT+02:00 Charles Butler <charles.but...@canonical.com>
>>> :
>>>
>>>> I was actually talking to beisner about this in Irc and the open
>>>> stackers are putting a report in their artifacts with the repository
>>>> information.
>>>>
>>>>
>>>> https://api.jujucharms.com/charmstore/v5/~openstack-charmers-next/xenial/neutron-gateway/archive/repo-info
>>>>
>>>> I think I like this better.
>>>>
>>>> We are generating a manifest of the other layers but I'm not certain we
>>>> are storing any commit hash info in that manifest. I don't think we are.
>>>>
>>>> But it would give me a nice trail to follow.
>>>>
>>>> On Thu, Jun 16, 2016 at 4:42 PM Merlijn Sebrechts <
>>>> merlijn.sebrec...@gmail.com> wrote:
>>>>
>>>>> Well, Charles, I must admit that I'm a bit lost. There's some lingo in
>>>>> this email I don't quite understand, and it's quite late on my side of the
>>>>> globe ;)
>>>>>
>>>>> What I understand you want: You have a Github repo that contains the
>>>>> top layer of a Charm. Each tag in that repo corresponds to the revision of
>>>>> the charm build from that layer. Is this correct?
>>>>>
>>>>> This would allow you to see what Charm corresponds to what layer
>>>>> version.
>>>>>
>>>>> I don't quite understand how this would solve your kubernetes problem.
>>>>> Don't you want this information about every layer instead of just the top
>>>>> one? Is this something 'charm build' would be able to do automatically? It
>>>>> gets the layers from a repo so it might be able to put that info
>>>>> (repo/commit) in a log somewhere?
>>>>>
>>>>> 2016-06-16 19:51 GMT+02:00 Charles Butler <
>>>>> charles.but...@canonical.com>:
>>>>>
>>>>>> Greetings,
>>>>>>
>>>>>> I deposit many of my layers in GitHub, and one of the things  I've
>>>>>> been striving to do is keep tag releases at the revisions i cut a charm
>>>>>> release for a given channel. As we know, the default channel is seen by
>>>>>> no-one, and runs in increments of n+1.
>>>>>>
>>>>>> My prior projects i've been following semver for releases, but that
>>>>>> has *nothing* in terms of a breadcrumb trail back to the store.
>>>>>>
>>>>>> Would it be seen as good practice to tag releases - on the top most
>>>>>> layer of a charm - with what charm release its coordinated with?
>>>>>>
>>>>>> Given the scenario that i'm ready to release swarm, and lets assume
>>>>>> that to date i haven't tagged any releases in the layer repository:
>>>>>>
>>>>>> charm show cs:~containers/trusty/swarm revision-info
>>>>>> revision-info:
>>>>>>   Revisions:
>>>>>>   - cs:~containers/trusty/swarm-2
>>>>>>   - cs:~containers/trusty/swarm-1
>>>>>>   - cs:~containers/trusty/swarm-0
>>>>>>
>>>>>> I see that i'm ready to push swarm-3 to the store:
>>>>>>
>>>>>> git tag 3
>>>>>> git push origin --tags
>>>>>>
>>>>>> I can now correlate the source revision to what i've put in my
>>>>>> account on the store, but this does not account for promulgation (which 
>>>>>> has
>>>>>> an orthogonal revision history), and mis-match of those id's.
>>>>>>
>>>>>> I think this can simply be documented that tags track
>>>>>> <<username>>/<<charm>> pushes, and to correlate source with release, to 
>>>>>> use
>>>>>> the method shown above to fetch release info.
>>>>>>
>>>>>> Does this sound useful/helpful or am I being pedantic? (I say this
>>>>>> because Kubernetes touches ~ 7 layers, and it gets confusing keeping
>>>>>> everything up to date locally while testing, and then again re-testing 
>>>>>> with
>>>>>> --no-local-layers to ensure our repositories are caught up with current
>>>>>> development work. (Cant count the number of open pull requests hanging
>>>>>> waiting for review because we've moved to the next hot-ticket item)
>>>>>>
>>>>>> All the best,
>>>>>>
>>>>>> Charles
>>>>>> --
>>>>>> Juju Charmer
>>>>>> Canonical Group Ltd.
>>>>>> Ubuntu - Linux for human beings | www.ubuntu.com
>>>>>> Juju - The fastest way to model your service | www.jujucharms.com
>>>>>>
>>>>>> --
>>>>>> Juju mailing list
>>>>>> Juju@lists.ubuntu.com
>>>>>> Modify settings or unsubscribe at:
>>>>>> https://lists.ubuntu.com/mailman/listinfo/juju
>>>>>>
>>>>>> --
>>>> Juju Charmer
>>>> Canonical Group Ltd.
>>>> Ubuntu - Linux for human beings | www.ubuntu.com
>>>> Juju - The fastest way to model your service | www.jujucharms.com
>>>>
>>>
>>>
>>> --
>>> Juju mailing list
>>> Juju@lists.ubuntu.com
>>> Modify settings or unsubscribe at:
>>> https://lists.ubuntu.com/mailman/listinfo/juju
>>>
>>>
>>
>>
>> --
>> David Britton <david.brit...@canonical.com>
>>
>> --
>> Juju mailing list
>> Juju@lists.ubuntu.com
>> Modify settings or unsubscribe at:
>> https://lists.ubuntu.com/mailman/listinfo/juju
>>
>>
>
> --
> Juju mailing list
> Juju@lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju
>
>
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju

Reply via email to