fastmail / mint-tag Goto Github PK
View Code? Open in Web Editor NEWBuild git tags from labels
License: Other
Build git tags from labels
License: Other
mint-tag/lib/App/MintTag/BuildStep.pm
Lines 34 to 39 in 78630bb
Can we drop the Maybe[]? You said it might've been added because of some kind of type system carping. If we can ditch them, all the better. Maybe[] is usually wrong compared to just leaving things unset.
mint-tag/lib/App/MintTag/BuildStep.pm
Lines 80 to 81 in 78630bb
An experiment: we discussed whether we'd benefit from seeing that an MR's sha is already available locally, and so no git fetch is required.
Lines 213 to 217 in 4296078
This is fine, but I will restate my original advice, which are you free to discount, and I will not be bothered. :)
I said "be sure to put the version as the very first thing" which might be, say:
v19 tag from tag-minter where blah blah
[[...]]
pie = eaten
…because you'd always be able to parse that no matter what. "Every tag starts with v then a string of digits, then a space." You seem to have put it into the TOML, meaning that for all time, every tag is described in TOML.
Probably this is fine, and I just want to know you decided knowing what I had meant!
Line 14 in 4296078
If we need a stock prefix (to distinguish from system() output?) let's make it mint-tag
or something?
mint-tag/lib/App/MintTag/Remote/Github.pm
Lines 51 to 59 in 78630bb
I think that in fact you may want to use the /repos/:owner/:repo/pulls API end point, which has a ?state=open parameter. This returns full pull requests, so the big question is whether you're better off:
or
Page size can be set to 100, which seems likely to always be more than enough, reducing the query count from 1+N to 1.
mint-tag/lib/App/MintTag/Remote/Github.pm
Lines 23 to 25 in 78630bb
Thrown out as an idea for the future, largely: if you have several remote at the same service, you may end up with more distinct TCP connections than required. You should be able to provide them all with a shared-across-the-app LWP::ConnCache to minimize this.
mint-tag/lib/App/MintTag/Remote/Github.pm
Lines 2 to 3 in 78630bb
You have made GitLab and Github, but GitHub seems to style themselves GitHub, with a big H.
Maybe this is fiddly, but we should probably match both brands or at least both files. Sincerely, Rik from FastMail.
Lines 193 to 200 in 4296078
I think you're probably better off getting a prefix match first, up to and excluding the s.n., then picking the next s.n. available. It'll run git-tag once instead of N times, and have the same number of races. No?
Lines 65 to 69 in 4296078
Seems strange to me to let the approver exit, instead of just letting it signal approval. Then the caller can do the right thing. Minor, but we're usually well served to keep things like "exit" near the top level if we can.
Made my first mint-tag config today. I left out meta.committer_name
and meta.committer_email
because I was just fiddling locally. Later, calamity!
mint-tag | build-mysql-8: octopus merging 5 MRs
mint-tag | build-mysql-8: run: git merge --no-ff --no-commit 3aa343d8076dae8433b43cbf3ae079d8b6a52a3e 52480f1b105f95cf1c484296d19a7f15b50baadc 4acb6a3a8ca1ca3540a99ab0288f08e01c7629dc 29d4460d33e069d6e1535fd109f1d5be52d75514 c0649bd3b34f163fbe8c9b150ac53995b1cc2cf9
mint-tag | build-mysql-8: (git): fatal: empty ident name (for <>) not allowed
This is obviously easily fixed, and I did, but it took a moment to make the connection.
Suggest either saying "you must have these config values", or, taking the local git defaults.
Line 320 in 4296078
^-- should that be fatal instead?
That is, we will exit immediately, leaving the working directory in a state of disarray. I think that's useful, because maybe you want to go in and see what's up. But we should be loud about doing so (red text), because it's possible you'll be in the middle of a rebase, or in a detached HEAD, or some other weirdness.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.