ruaok: this is definitely in the wrong place anyway, so should be an easy win
_lucifer: yes! exactly
prabal_ has quit
ruaok
oh good, that would drastically improve my life.
alastairp
we just had a good talk about questioning a bunch of our existing assumptions with our build/test/deploy stacks, which I think was really useful
ruaok
indeed. and one of the thoughts I put on the table: if our lives could be made easier by paying some money to free up our own resources, that should be considered as a possibility.
its my discover weekly, which incidentally is listenable again. I turned of "keep playing music after this album finishes" and thus am picking much more of what i want to listen to. in turn DW works well -- at least this week.
BrainzGit
[listenbrainz-server] amCap1712 opened pull request #1356 (master…validate-auth): LB-793: validate-token endpoint takes token as an argument instead of header https://github.com/metabrainz/listenbrainz-serv...
outsidecontext
just noting that I'm pretty happy with Github actions for Picard. But requirements are likely a bit different, so not necessarily comparable
should there be a certain limit of free runtime minutes per organization we are probably already using a bit of that. But I'm not aware there is such a limit :D
alastairp
thanks outsidecontext
yeah, I use it on another (closed) project. a free plan has 2000 minutes/month, and the lowest level paid plan has 3000 I think (and I believe our MeB non-profit plan is approx equal to this one). but as _lucifer said, theoretically it's free for open source projects, so we should try it
_lucifer
alastairp, should we proceed with the lb releases?
alastairp
_lucifer: I'm just doing that right now
as we speak
_lucifer
nice :D
let me know if i can assist in some way
ruaok
yeah, same here.
alastairp
cron, timescale, web restarted
websockets, api compat, spark reader, labs api restarted
_lucifer: spark reader makes no noise when it starts up. is this something that we improved in a PR?
ruaok
I thought I did, but I may not have committed that.
_lucifer
yes, i added a log statement before it attempts to connect to rabbitmq
but I don't see this log message: `current_app.logger.info('Spark consumer started!')`
which was already there
_lucifer
is `basic_qos` blocking call?
alastairp
the process is running in the container (I can see it with ps)
it might just be an issue with logging
ruaok
alastairp: it seems that a good pattern is to always include a top level `try: except Exception` block as the first thing in a thread's run() method.
alastairp
ruaok: we've moved an apt-get install in the Dockerfile further up, so changes to crontab won't cause apt-get install node to happen again and again
ruaok
great. is that in master?
alastairp
you had one of them swallowing your exceptions?
I guess Mr_Monkey is opening a PR
ruaok
multiple levels of swallowing.
in the future I will just put those in as a habit to save myself this frustration.
alastairp
we've still got another issue, where according to dockerfile best-practises, items that change frequently should happen later in the file
so we have 1) runit scripts, 2) crontabs, 3) npm install and npm build
ruaok
and one single execution chain. :(
alastairp
to us, logic dictates that js code changes most frequently, and so should be put last
yeah
ruaok
but do the install of js code change frequently? not so much.
alastairp
we just came to the realisation that while all services use the same image, only web needs the js assets (most other images need the python assets)
ruaok
does
ruaok nods
alastairp
well, it means that if you have to do a dev cycle of changing crontab/rebuild, the docker image cache will be invalidated and you'll have to rebuild the js files
remember that js installation is two steps - installation of dependencies, and then compilation of code
ruaok
should we separate those two steps?
installation first, code last?
alastairp
we were considering that
so we could do 1) runit scripts, 2) js dependencies, 3) crontabs, 4) build js files
it kind of feels like we're hyper-optimising your specific use-case though, and we're not sure if this happens frequently enough that it's worth the effort?
not sure, it's difficult to gauge
ruaok
I dont think the order of 1-3 is all that important, but having 4 last makes sense to me.
that should not be that much work, right?
alastairp
agreed, having 4 last makes sense to me, and this is easy to do
ruaok
lets go for that and if it still is slow, we'll take another look.
ruaok: ^ fyi, that's all I have to run our own docker registry server
or in non-docker-compose syntax: `docker run registry -v whatever -p whatever`
ruaok
zas: do you remember why we chose to use docker hub instead of our own registry?
sometimes pushing to docker hub is freaking slooooooow.
zas
yes, it is. I guess we didn't really made a choice, I tried to set up our own registry at some point for caching purpose. You can build locally and push to docker hub, I usually use autobuilds (I tag the git repo, it builds), but in all cases there are delays
ruaok
I think it would be nice to have our own, but it would gobs of diskspace, I think.
zas
now, setting up our own registry is likely possible, but as usual, it implies resources, redundancy, backups, upgrades (well, you know that), that's the usual reason we use external resources ;)
ruaok
yeah.
github has a container registry too, no?
zas
I think so
ruaok
well, its something we should consider once we get past some of the infrastructure improvements we're currently making.