=== Spads_ is now known as Spads [10:55] Issue operator#304 closed: Use git describe to log version when running from git [10:55] PR operator#319 closed: ops: get version from git [10:59] Issue operator#309 closed: KeyError: 'JUJU_MODEL_NAME' while emitting event from Harness [11:05] pjdc: 👋 [11:21] Muy buenos días a todos! [11:21] facubatista: 👋 [11:23] hola Chipaca [11:26] * Chipaca integrates https://jazzkeys.plan8.co/ into emacs [11:27] facubatista: https://jazzkeys.plan8.co/?msg=-M9IfwcZxxA0wD6iLmb1 [11:28] Chipaca, ja, nice!! [11:29] I wonder how it be to really integrate it with the keyboard, maybe not with the editor, just at a system level [11:31] facubatista: snap install bucklespring [11:34] it's a wonder how it's balanced across speakers :) [11:34] facubatista: you can adjust how "wide" that goes, as well [11:34] with headphones i find i need to set it to a lot less than the default for it to be reasonable [11:34] with speakers the default sounds 'right' [11:35] having written that, it's obvious why =) [11:35] yes [12:03] Chipaca, so, how we continue with that spec? [12:08] facubatista: let it prove for another day [12:10] Chipaca, ack, let me know [12:12] facubatista: but AIUI we need to expand on the contents of charmcraft.yaml and give a go through a .charm contents in the concrete [12:14] morning facubatista [12:14] Chipaca, a) charmcraft.yaml is for the whole tool, not just build, we may write about it in a different doc, and point from this one? [12:14] jam, hola! [12:15] jam: #320 gtg, #318 and #322 waiting for +1s [12:15] PR #320: ops/framework.py: Move pickle into Storage [12:15] PR #318: Simplified the CharmBase init signature [12:15] PR #322: log: set up sys.excepthook to log exceptions [12:15] * Chipaca the taskmaster [12:15] Chipaca, b) you say to dump the content of a real .charm's tree there? [12:16] facubatista: and IIRC the build directory itself also (but that can wait until we've made it not be so symlinky) [12:16] (or pretend we've already done that :) [12:17] Chipaca, we need to talk about that, I don't see the benefit of copying bytes [12:18] facubatista: ok [12:18] (i don't see the benefit of copying bytes either) [12:18] (in this case in particular, copying bytes is a good thing in lot of places for this thingies called computers) [12:18] facubatista: the trick is always to copy as little as possible [12:19] 1/2 of all computer science treaties are about that [12:19] the other 3/4 are about estimation [12:19] :) [12:20] Chipaca, so, let's talk about symlinks! here? HO? later? [12:22] facubatista: here is fine [12:22] facubatista: so i'll start saying what I'd like [12:22] facubatista: then you tell me why i'm wrong [12:23] facubatista: I'd like build to do the equivalent of 'cp -al' of all the relevant bits, and then explicitly symlink things like hooks that we want to be symlinks, and then create the zip with the actual symlinks in it [12:23] Chipaca, you're never wrong! you may not be as much right as I am [12:24] facubatista: I'd like build to create the venv outside of build (.venv maybe?) and the 'cp -al' it into build also, so it can be thrown away / recreated cheaply when not changed [12:24] facubatista: but this last thing is just optimization [12:24] * facubatista does `man cp` for first time in years [12:24] facubatista: hardlink files, create directories [12:25] facubatista: almost no byte copying :) [12:27] Chipaca, let's leave the venv to a second phase of this talk [12:27] totes [12:29] Chipaca, so, doing 'cp -al' is compared to 'symlinks' in: (let me finish) [12:30] a) nicer, as it no create actual symlinks (hardlinks are cheap!) [12:30] b) more work, as we need to actually do a lot of recursive work to create trees and all files inside those trees [12:31] c) nicer, as we may get to have "actual symlinks" in the zip file [12:31] Chipaca, is (c) the real benefit of your proposal here? is this what you're actually searching for? [12:32] d) nicer, as a developer looking into build/ will see something a lot closer to what they get from unzipping the charm [12:32] (c) and (d) are what i'm going for [12:32] (a), meh; (b), smop :-) [12:34] Chipaca, ah, (d) convinced me [12:36] Chipaca, I'm writing something, it may take me 5-10' [12:49] second monday of late standup, it throws me every time [12:49] * Chipaca gets tea [12:52] Chipaca, what do you think? https://github.com/canonical/charmcraft/issues/29 [12:52] Chipaca, btw, would you close milestone 0.1.1? thanks [14:28] Chipaca, let's talk about the venv? [14:28] veeeeeenv [14:30] facubatista: sorry my brain was momentarily taken over by zombies [14:31] facubatista: what do you want to talk about wrt venv? [14:32] Chipaca, where it will be located [14:32] the second phase of the talk we had before [14:36] facubatista: so, as per previous discussions, we want a way of not recreating the venv when it wouldn't change, right? [14:36] Chipaca, yes [14:36] Chipaca, I was thinking about using the hash of all requirements to check if we should or we shouldn't [14:38] Chipaca, I like putting the venv inside the build directory, so we only "stain" one place [14:39] Chipaca, we can not put that kind of dir in project's directory, as it may already have a .venv, or a .env, or a venv, etc [14:40] facubatista: but doesn't build start by nuking build/? [14:40] Chipaca, I would change that, to probably start by nuking everything *but* the venv dir if we shouldn't [14:48] facubatista: so … what's the issue? [14:49] Chipaca, before you wanted to put it outside... "I'd like build to create the venv outside of build" [14:50] facubatista: ¯\_(ツ)_/¯ details [14:50] facubatista: outside as in 'not nuked'; if you think it's easier / more foolproof to have it inside but not nuked, then, works for me [14:55] Chipaca, perfect [14:56] siiigh. Changing 'fake_script' so that all scripts are python instead of bash triples the time our tests take to run [15:00] Chipaca, what if we mock them? [15:01] facubatista: that's not very welcoming [15:01] jaja [15:02] i'll be playing with different ways of doing it, later [15:33] jam: standup? [16:05] * facubatista -> lunch [17:15] Issue operator#188 closed: Improve calling for Object descendant tree [17:15] PR operator#318 closed: Simplified the CharmBase init signature [17:54] PR operator#320 closed: ops/framework.py: Move pickle into Storage [18:58] Issue operator#289 closed: hook exception logged at DEBUG [18:58] PR operator#322 closed: log: set up sys.excepthook to log exceptions [20:55] * facubatista eods