Re: GSoC 2020: SMuFL glyph name to index lookup

2020-05-27 Thread Carl Sorensen
It seems to me that if you are going to use SMuFL fonts, you're either going to 
have to completely rewrite every lilypond glyph-name lookup (which should 
probably be phase 3 of the project) or you're going to have to have a 
lilypond-glyph-name-to-smufl-code-point lookup.

If I were doing it as part of a staged approach, I'd do the SMuFL code point 
lookup.

Whether the lilypond-glyph-name-to-smufl-code-point lookup has an intermediate 
step of smufl-glyph-name probably doesn't matter to me, at least for now.  It 
will be less efficient, but I'd be shocked if you could measure the difference 
in process time.  Most of our time is spent doing layout, not looking up glyphs.

It seems to me like you'll want to have a lilypond-glyph-name to 
smufl-glyph-name table created anyway, because you're going to have to make the 
changes to smufl-glyph-name in the code (or else hardcode the code points, but 
you seem to think they are possible to change, so we shouldn't do that).  So I 
don't think the work to make the lilypond to smufl glyph name lookup is wasted 
work.

But I think these are mostly stylistic decisions, and there's not much in the 
way of objective criteria that says one way or another is better.  So do what 
you think best, IMO.

Thanks,

Carl


 

On 5/27/20, 6:48 PM, "lilypond-devel on behalf of Owen Lamb" 
 wrote:

Hi all,

I do believe I've finally tracked down the place where lilypond glyph names
are turned into character codes: Open_type_font::name_to_index. I can add a
ternary operator here based on whether the Open_type_font is_smufl (a new
property that, in the future, should be detected and set when the font is
initialized), and hook it into a new function which returns the correct
code point based on the SMuFL specification.

Now, I could take a few different routes with this.

On one hand, I could replace every instance of the lilypond glyph naming
system (i.e. clefs.G) with the SMuFL one (i.e. gClef). This would mean
every user would need to learn the new vocabulary if they want to reference
glyphs in their scheme code. (There's also the question of what to do about
glyphs in LilyPond that don't have a counterpart in SMuFL, which I plan to
research anyway.)

On the other hand, I could keep the current LilyPond naming system,
hand-writing a dictionary that translates LilyPond names straight into
SMuFL code points. This would retain a bit of nonstandardness, which might
annoy future developers, with the benefit of keeping my changes largely
inconsequential to the seasoned user.

On the third hand (I suppose it's a three-handed monster, oh well), I could
write multiple lookup functions--one to map lilypond name to SMuFL-name,
and another to map SMuFL-name to code point. This would make updating to
new versions of SMuFL especially easy, and keep end user experience the
same, but the lookup time would be twice as long, making performance suffer.

So, the way I see it, I have to sacrifice either backwards-compatibility,
full standardization, or performance. What do you all think I should go
for? Is there something I missed?

Thanks,
Owen



Re: GSoC 2020: SMuFL glyph name to index lookup

2020-05-27 Thread Werner LEMBERG


> It seems to me that if you are going to use SMuFL fonts, you're
> either going to have to completely rewrite every lilypond glyph-name
> lookup (which should probably be phase 3 of the project) or you're
> going to have to have a lilypond-glyph-name-to-smufl-code-point
> lookup.

To decide whether LilyPond completely abandons the current glyph names
by replacing them with the SMuFL mnemonics is something the LilyPond
community has to decide.  Using `convert-ly`, this could be easily
done.  However, I don't know whether this makes sense.

> It seems to me like you'll want to have a lilypond-glyph-name to
> smufl-glyph-name table created anyway, because you're going to have
> to make the changes to smufl-glyph-name in the code (or else
> hardcode the code points, but you seem to think they are possible to
> change, so we shouldn't do that).

No, they don't change.  SMuFL might deprecate code points in favour of
new solutions, but no code points get removed.


Werner



Re: GSoC 2020: SMuFL glyph name to index lookup

2020-05-27 Thread Werner LEMBERG


> I do believe I've finally tracked down the place where lilypond
> glyph names are turned into character codes:
> Open_type_font::name_to_index.  I can add a ternary operator here
> based on whether the Open_type_font is_smufl (a new property that,
> in the future, should be detected and set when the font is
> initialized), and hook it into a new function which returns the
> correct code point based on the SMuFL specification.

I think there is a fundamental misunderstanding.  Bravura is an
OpenType font, and the only intended communication with such fonts is
via character code values and *not* glyph names.  It is a technical
detail that LilyPond primarily communicates with OTF fonts via glyph
names: this is necessary only because LilyPond natively emits
PostScript code, which predates the invention of OpenType and thus
doesn't use character codes.

> Now, I could take a few different routes with this.
> 
> On one hand, I could replace every instance of the lilypond glyph
> naming system (i.e. clefs.G) with the SMuFL one (i.e. gClef).

But the glyph name 'gClef' is internal to the Bravura font
specification!  It is just an aid for the font developer to have
something mnemonic.  Glyph names that are visible to clients (this is,
being part of the font file itself) are normally of the form 'uni'
or 'uX', with '' and 'X' four-digit and five-digit
uppercase hexadecimal values, respectively; this is recommended by the
Adobe Glyph List Specification for New Fonts, obeyed by virtually all
fonts today.

  https://github.com/adobe-type-tools/agl-aglfn/

If a font developer decides to use funny glyph names like
'MyVeryCheesyGeeClef' in the OpenType font: well, this *is* possible
(but non-standard, of course), and today, with recent applications,
such a font should work out of the box because only character codes
are of importance.

Instead, the route must be as follows.

  (1) Create a mapping from LilyPond glyph names to SMuFL character
  codes (which usually are in the Unicode's PUA).  This is a
  static table since SMuFL has stabilized; if a new SMuFL version
  gets released, this table has to be updated within LilyPond.

  (2) Convert the character code resulting from (1) to the font's
  glyph index and proceed as usual.

Only (1) is missing currently, AFAICS.  It has to be investigated
whether this mapping is one to one; I can imagine that some glyphs in
LilyPond map to more than a single glyph in SMuFL and vice versa.

> This would mean every user would need to learn the new vocabulary if
> they want to reference glyphs in their scheme code.

Definitely not :-) However, I can imagine that LilyPond provides an
option to *also* allow Bravura glyph names (or maybe instead; I don't
have an opinion here) for `\musicGlyph`.

> (There's also the question of what to do about glyphs in LilyPond
> that don't have a counterpart in SMuFL, which I plan to research
> anyway.)

This is the tricky part, I guess.

> On the other hand, I could keep the current LilyPond naming system,
> hand-writing a dictionary that translates LilyPond names straight into
> SMuFL code points.

Exactly.

> This would retain a bit of nonstandardness, ...

Not at all, IMHO.

> ... which might annoy future developers, with the benefit of keeping
> my changes largely inconsequential to the seasoned user.

Again: Having an option to allow SMuFL glyph names is very useful, but
it is not the right way to communicate with fonts following the SMuFL
standard.

> On the third hand (I suppose it's a three-handed monster, oh well),
> I could write multiple lookup functions--one to map lilypond name to
> SMuFL-name, and another to map SMuFL-name to code point.

Rather not.

> So, the way I see it, I have to sacrifice either
> backwards-compatibility, full standardization, or performance.

Fortunately, there's nothing to sacrifice :-)


Werner



Re: new procedure with GitLab CI

2020-05-27 Thread Dan Eble
On May 27, 2020, at 21:03, David Kastrup  wrote:
> 
> Dan Eble  writes:
>> I wonder how the rest of you feel about having another developer click
>> the buttons to rebase and merge your MRs?
> 
> If you refer to me doing that on Han-Wen's merge request, he actually

I had no idea.  I just noticed that there are still some patches on "Push" and 
no pipelines running.  At such a time, I could start one, but I wouldn't want 
to be a pest.

> I don't think it would be a good idea to start a pipeline on somebody
> else's merge request without having an indication that they were going
> to follow through with "Patch_push": Patch_push indicates no objections
> from foreign review, but the responsibility for starting the final
> pipeline/merge should really lie with the original submitter.

What if we (by convention) reserve Approval as a way for the submitter to 
indicate this, so that anyone who sees an Approved MR with the Patch::push 
label is free to trigger the merge?
— 
Dan




Re: new procedure with GitLab CI

2020-05-27 Thread David Kastrup
Dan Eble  writes:

> On May 27, 2020, at 07:16, David Kastrup  wrote:
>> 
>> Now that we have the first "please get in line" merge that isn't
>> actually to any degree unusual, I get the suspicion that my previous
>> alternative proposal of pushing to a CI-less staging branch that then
>> uses CI to get to master will eventually become a reality.
>
> I wasn't much bothered by this round of merging.
>
> I wonder how the rest of you feel about having another developer click
> the buttons to rebase and merge your MRs?

If you refer to me doing that on Han-Wen's merge request, he actually
started his pipeline (with merge-to-master-when-finished) shortly after
mine and it ended up not being allowed to push because of requiring a
rebase after my merge request went through.  So when I saw that I caused
his intended merge to fail (or rather, that he had not checked whether
my earlier started pipeline was a merging one), I restarted his pipeline
as a "courtesy" since the rebase was a trivial one.  So it's not as much
that I as "another developer clicked the buttons to rebase and merge his
MRs" rather than that I forced GitLab to complete his explicit order.

For a trivial rebase, I don't see much wrong here but of course others
may see this as taking too much of a liberty here.

> Maybe we could adopt a convention that if you would object to that,
> you configure your MR so that you are the only one who is allowed to
> merge; and if you don't do that, then anyone who comes by at a time no
> pipelines are running would be free to start one.  — Dan

I don't think it would be a good idea to start a pipeline on somebody
else's merge request without having an indication that they were going
to follow through with "Patch_push": Patch_push indicates no objections
from foreign review, but the responsibility for starting the final
pipeline/merge should really lie with the original submitter.

In this case, Han-Wen already made the decision but GitLab did not
complete it.  And the patched area was not related to mine, either.

-- 
David Kastrup



GSoC 2020: SMuFL glyph name to index lookup

2020-05-27 Thread Owen Lamb
Hi all,

I do believe I've finally tracked down the place where lilypond glyph names
are turned into character codes: Open_type_font::name_to_index. I can add a
ternary operator here based on whether the Open_type_font is_smufl (a new
property that, in the future, should be detected and set when the font is
initialized), and hook it into a new function which returns the correct
code point based on the SMuFL specification.

Now, I could take a few different routes with this.

On one hand, I could replace every instance of the lilypond glyph naming
system (i.e. clefs.G) with the SMuFL one (i.e. gClef). This would mean
every user would need to learn the new vocabulary if they want to reference
glyphs in their scheme code. (There's also the question of what to do about
glyphs in LilyPond that don't have a counterpart in SMuFL, which I plan to
research anyway.)

On the other hand, I could keep the current LilyPond naming system,
hand-writing a dictionary that translates LilyPond names straight into
SMuFL code points. This would retain a bit of nonstandardness, which might
annoy future developers, with the benefit of keeping my changes largely
inconsequential to the seasoned user.

On the third hand (I suppose it's a three-handed monster, oh well), I could
write multiple lookup functions--one to map lilypond name to SMuFL-name,
and another to map SMuFL-name to code point. This would make updating to
new versions of SMuFL especially easy, and keep end user experience the
same, but the lookup time would be twice as long, making performance suffer.

So, the way I see it, I have to sacrifice either backwards-compatibility,
full standardization, or performance. What do you all think I should go
for? Is there something I missed?

Thanks,
Owen


Re: GSoC 2020 update

2020-05-27 Thread Owen Lamb
Ah! And of course, soon after I ask, I find that the point is moot. I'm
sticking Bravura deep in the build/out directory where the font files are,
which of course is already ignored by git. Thank you and sorry for the
trouble!

--Owen

On Wed, May 27, 2020 at 2:36 PM Werner LEMBERG  wrote:

>
> > ... as long as we don't intend to ship Bravura along with LilyPond
> > I'd say it shouldn't be added to the repository.  Except if it's
> > necessary to get your work tested (maybe one day you'll habe a merge
> > request that won't work without a real SMuFL font ...).
>
> I second that.  If we are ever going to add it to lilypond's git
> repository I think the right time is just before merging the GSoC
> stuff.  Until then...
>
> > To keep something local to your computer it's better not to use the
> > .gitignore file but .git/info/exclude - which does the same but
> > without itself being committed.
>
> ... this is probably the simplest way to go.
>
>
> Werner
>


Re: new procedure with GitLab CI

2020-05-27 Thread Dan Eble
On May 27, 2020, at 07:16, David Kastrup  wrote:
> 
> Now that we have the first "please get in line" merge that isn't
> actually to any degree unusual, I get the suspicion that my previous
> alternative proposal of pushing to a CI-less staging branch that then
> uses CI to get to master will eventually become a reality.

I wasn't much bothered by this round of merging.

I wonder how the rest of you feel about having another developer click the 
buttons to rebase and merge your MRs?  Maybe we could adopt a convention that 
if you would object to that, you configure your MR so that you are the only one 
who is allowed to merge; and if you don't do that, then anyone who comes by at 
a time no pipelines are running would be free to start one.
— 
Dan




GitLab CI: warning about C059-BdIta.otf

2020-05-27 Thread Davide Liessi
Dear Jonas,

I noticed in the log of test and documentation builds in GitLab CI the
following message:

WARNING: build/out/share/lilypond/current/fonts/otf/C059-BdIta.otf:
chmod build/out/share/lilypond/current/fonts/otf/C059-BdIta.otf: no
such file or directory (suppressing repeats)

Is it expected?

Best wishes.
Davide



Re: GSoC 2020 update

2020-05-27 Thread Werner LEMBERG


> ... as long as we don't intend to ship Bravura along with LilyPond
> I'd say it shouldn't be added to the repository.  Except if it's
> necessary to get your work tested (maybe one day you'll habe a merge
> request that won't work without a real SMuFL font ...).

I second that.  If we are ever going to add it to lilypond's git
repository I think the right time is just before merging the GSoC
stuff.  Until then...

> To keep something local to your computer it's better not to use the
> .gitignore file but .git/info/exclude - which does the same but
> without itself being committed.

... this is probably the simplest way to go.


Werner



Re: GSoC 2020 update

2020-05-27 Thread Urs Liska
Hi Owen!

Am 27. Mai 2020 22:58:19 MESZ schrieb Owen Lamb :
>Hi all!
>
>I pushed the new dev/lamb/GSoC-2020 branch to origin yesterday, and it
>appears to be visible on GitLab. I haven't committed anything new yet,
>but
>I will soon. I'll push any commits I make at the end of each work day.
>
>I plan to give updates regularly every Friday. So far I have been
>investigating open-type-font.cc as an entrypoint for changing the
>encoding,
>but I'll have a more detailed report then.
>
>I have a couple questions in the meantime:
>
>I plan to temporarily add the Bravura font to my lilypond branch for
>testing SMuFL throughout the summer. Is there any legal reason not to

No. Bravura has very avöctively been developed and promoted to be an open font.

It may be shared along with the usual license stuff, but ...

>(or
>at least to .gitignore it so it only appears on my machine)? 

... as long as we don't intend to ship Bravura along with LilyPond I'd say it 
shouldn't be added to the repository. Except if it's necessary to get your work 
tested (maybe one day you'll habe a merge request that won't work without a 
real SMuFL font ...).

To keep something local to your computer it's better not to use the .gitignore 
file but .git/info/exclude - which does the same but without itself being 
committed.

Best
Urs

It appears
>to
>be licensed under OFL 1.1, just like Feta, but I'd just like to make
>sure
>I'm not accidentally breaking any laws as I work publicly.
>
>This next one is a minor annoyance and probably a C++ newbie question,
>but
>my IDE (VS Code, chosen for comfort) is reporting "a
>dynamically-initialized local static variable is not allowed inside of
>a
>statement expression" about a million times throughout the .cc files,
>whenever particular #define'd macros, e.g. ly_symbol2scm or
>get_property,
>are referenced. From what I know, macros aren't dynamically
>initialized,
>are they? Does anyone know why this might be happening? This doesn't
>seem
>to affect compilation, so I can easily ignore the red squiggly lines,
>but
>if there's a way to get rid of them, I'm all ears.
>
>And, of course, if you have any comments or suggestions about anything
>else, please let me know!
>
>Thanks,
>Owen

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.



GSoC 2020 update

2020-05-27 Thread Owen Lamb
Hi all!

I pushed the new dev/lamb/GSoC-2020 branch to origin yesterday, and it
appears to be visible on GitLab. I haven't committed anything new yet, but
I will soon. I'll push any commits I make at the end of each work day.

I plan to give updates regularly every Friday. So far I have been
investigating open-type-font.cc as an entrypoint for changing the encoding,
but I'll have a more detailed report then.

I have a couple questions in the meantime:

I plan to temporarily add the Bravura font to my lilypond branch for
testing SMuFL throughout the summer. Is there any legal reason not to (or
at least to .gitignore it so it only appears on my machine)? It appears to
be licensed under OFL 1.1, just like Feta, but I'd just like to make sure
I'm not accidentally breaking any laws as I work publicly.

This next one is a minor annoyance and probably a C++ newbie question, but
my IDE (VS Code, chosen for comfort) is reporting "a
dynamically-initialized local static variable is not allowed inside of a
statement expression" about a million times throughout the .cc files,
whenever particular #define'd macros, e.g. ly_symbol2scm or get_property,
are referenced. From what I know, macros aren't dynamically initialized,
are they? Does anyone know why this might be happening? This doesn't seem
to affect compilation, so I can easily ignore the red squiggly lines, but
if there's a way to get rid of them, I'm all ears.

And, of course, if you have any comments or suggestions about anything
else, please let me know!

Thanks,
Owen


Re: new procedure with GitLab CI

2020-05-27 Thread David Kastrup
Jonas Hahnfeld  writes:

> Am Mittwoch, den 27.05.2020, 12:17 +0200 schrieb Valentin Villenave:
>> On 5/27/20, Jonas Hahnfeld  wrote:
>> > We do want to have the pipeline on the commit before it is merged
>> > because this replaces patchy.
>> 
>> Well, that’s absolutely crucial at the MR review stage. But after
>> passing the review and countdown process, the need for CI
>> testing decreases.  So an option to bypass the pipeline when we reach
>> the “rebase & merge” stage wouldn’t necessarily be harmful.
>
> [added the part of the second email]
>
> This would be radically different from the old setup: Push to staging,
> wait for patchy to test. I agree that not bunching stuff together is
> different, but no testing at all isn't an alternative IMHO.

Now that we have the first "please get in line" merge that isn't
actually to any degree unusual, I get the suspicion that my previous
alternative proposal of pushing to a CI-less staging branch that then
uses CI to get to master will eventually become a reality.

The main question is then rather whether this should be optional (in
which case someone needs to be responsible for rebasing the collected
staging when something got to master directly) or mandatory after all.

>> > The only limitation is that all MRs are
>> > checked individually.
>> 
>> Not only individually, but sequentially.  And with no automatic queue
>> for rebasing, everything has to be done manually: checking whether
>> something’s already running somewhere; waiting until that gets merged;
>> then triggering the rebase/CI while hoping nobody else has been doing
>> the same at the same moment.
>> 
>> That’s not merely a limitation, that’s a PITA.  Is there a way we
>> could at least get the rebase part done within the pipeline? i.e.
>> “rebase and launch pipeline and merge when the pipeline is done” or
>> something like that?
>
> No, "rebase" is currently manual (with "merge when pipeline succeeds"
> being automatic). This has been clearly communicated, sorry if you
> missed that.

Well, the point of a working mechanism is that nothing needs to get
communicated by side channels.  Of course, we aren't there yet since we
are still figuring out our usage patterns for Gitlab.

> Jonas
>

-- 
David Kastrup



Re: helping with testing resources

2020-05-27 Thread Davide Liessi
Dear Jonas,

Il giorno sab 23 mag 2020 alle ore 20:01 Jonas Hahnfeld
 ha scritto:
> If you have spare hardware and / or want to help with CI testing, this
> is easy to setup with GitLab.

I have setup my laptop for GitLab's CI (of course you already know it).

A question which may be interesting also to other people: what happens
if I suspend or switch off my laptop during a build?
Will the merge request be marked as failed or will another build be
scheduled in another runner?

These days I'm working from home, so I can keep the laptop active as
needed, but when I start going to the office again I'll need to
suspend/switch off the laptop for commuting.

Best wishes.
Davide



Re: new procedure with GitLab CI

2020-05-27 Thread Jonas Hahnfeld
Am Mittwoch, den 27.05.2020, 12:17 +0200 schrieb Valentin Villenave:
> On 5/27/20, Jonas Hahnfeld  wrote:
> > We do want to have the pipeline on the commit before it is merged
> > because this replaces patchy.
> 
> Well, that’s absolutely crucial at the MR review stage. But after
> passing the review and countdown process, the need for CI
> testing decreases.  So an option to bypass the pipeline when we reach
> the “rebase & merge” stage wouldn’t necessarily be harmful.

[added the part of the second email]

This would be radically different from the old setup: Push to staging,
wait for patchy to test. I agree that not bunching stuff together is
different, but no testing at all isn't an alternative IMHO.

> > The only limitation is that all MRs are
> > checked individually.
> 
> Not only individually, but sequentially.  And with no automatic queue
> for rebasing, everything has to be done manually: checking whether
> something’s already running somewhere; waiting until that gets merged;
> then triggering the rebase/CI while hoping nobody else has been doing
> the same at the same moment.
> 
> That’s not merely a limitation, that’s a PITA.  Is there a way we
> could at least get the rebase part done within the pipeline? i.e.
> “rebase and launch pipeline and merge when the pipeline is done” or
> something like that?

No, "rebase" is currently manual (with "merge when pipeline succeeds"
being automatic). This has been clearly communicated, sorry if you
missed that.

Jonas


signature.asc
Description: This is a digitally signed message part


Re: new procedure with GitLab CI

2020-05-27 Thread Valentin Villenave
On 5/27/20, Valentin Villenave  wrote:
> On 5/27/20, Jonas Hahnfeld  wrote:
>> We do want to have the pipeline on the commit before it is merged
>> because this replaces patchy.
>
> Well, that’s absolutely crucial at the MR review stage. But after passing
[sorry, I forgot to end that sentence]
… After passing the review and countdown process, the need for CI
testing decreases.  So an option to bypass the pipeline when we reach
the “rebase & merge” stage wouldn’t necessarily be harmful.

V.



Re: new procedure with GitLab CI

2020-05-27 Thread Valentin Villenave
On 5/27/20, Jonas Hahnfeld  wrote:
> We do want to have the pipeline on the commit before it is merged
> because this replaces patchy.

Well, that’s absolutely crucial at the MR review stage. But after passing

> The only limitation is that all MRs are
> checked individually.

Not only individually, but sequentially.  And with no automatic queue
for rebasing, everything has to be done manually: checking whether
something’s already running somewhere; waiting until that gets merged;
then triggering the rebase/CI while hoping nobody else has been doing
the same at the same moment.

That’s not merely a limitation, that’s a PITA.  Is there a way we
could at least get the rebase part done within the pipeline? i.e.
“rebase and launch pipeline and merge when the pipeline is done” or
something like that?

Cheers,
-- V.



Re: new procedure with GitLab CI

2020-05-27 Thread Jonas Hahnfeld
Am Mittwoch, den 27.05.2020, 10:54 +0200 schrieb Valentin Villenave:
> On 5/27/20, Jonas Hahnfeld  wrote:
> > Pinging this to attention...
> 
> Yeah, that’s one of those “I’ve read it without fully understanding
> it” situations (and then the discussion devolved into James’s workflow
> and I lost track).
> 
> So IIUC there’s no way to skip the rebase-triggered CI pipeline right
> now?  (I didn’t quite understand if the -skip option worked or not in
> that case.)

We do want to have the pipeline on the commit before it is merged
because this replaces patchy. The only limitation is that all MRs are
checked individually.

> Or are we willing to accept situations where, in case of a fairly
> trivial rebase where side-effects are absolutely unlikely, people
> could manually stop the pipeline as soon as it starts, and force the
> merge to happen immediately?

This shouldn't and fortunately doesn't work, see above.

Jonas


signature.asc
Description: This is a digitally signed message part


Re: new procedure with GitLab CI

2020-05-27 Thread Valentin Villenave
On 5/27/20, Jonas Hahnfeld  wrote:
> Pinging this to attention...

Yeah, that’s one of those “I’ve read it without fully understanding
it” situations (and then the discussion devolved into James’s workflow
and I lost track).

So IIUC there’s no way to skip the rebase-triggered CI pipeline right
now?  (I didn’t quite understand if the -skip option worked or not in
that case.)
Or are we willing to accept situations where, in case of a fairly
trivial rebase where side-effects are absolutely unlikely, people
could manually stop the pipeline as soon as it starts, and force the
merge to happen immediately?

Cheers,
-- V.



Re: new procedure with GitLab CI

2020-05-27 Thread Jonas Hahnfeld
Am Samstag, den 23.05.2020, 19:59 +0200 schrieb Jonas Hahnfeld:
> Hi all,
> 
> I've now made the necessary settings, merged the changes in 
> https://gitlab.com/lilypond/lilypond/-/merge_requests/57, changed all
> existing merge requests to target 'master', and deleted 'staging'.
> I've not rebased the existing merge requests and there's no need to do
> so if it's already in one of the later stages (you'll be forced on
> submission). However remember that James won't get MRs with Patch::new
> for manual regression testing unless it has passed automated tests.
> 
> The new procedure to push / merge is as follows:
> 0. The patch reaches Patch::push via the known countdown process.
> 1. GitLab only allows fast-forward merges, so it forces you to rebase
> your changes. Without conflicts, the UI will present a button for this.
> Otherwise, or if you prefer doing so, you can always rebase locally and
> force-push the branch.
> 2. Updating the merge requests triggers the CI jobs to run. The UI will
> have a new button "Merge when pipeline succeeds". You can click this at
> your convenience and the system will handle the rest. Otherwise you can
> wait yourself and click the "normal" button labeled "Merge" as before.
> 
> 
> If multiple merge requests are rebased simultaneously, GitLab merges
> the first one that finishes CI testing. The other merge is aborted, but
> the CI pipeline continues to run AFAICT. So for saving resources,
> please try to avoid it. We'll see if this "contention" turns out to be
> a problem...

Pinging this to attention...


signature.asc
Description: This is a digitally signed message part


Re: remove merged branches & branches with tags

2020-05-27 Thread Phil Holmes
- Original Message - 
From: "Valentin Villenave" 

To: "Jonas Hahnfeld" 
Cc: "lilypond-devel" 
Sent: Wednesday, May 27, 2020 7:59 AM
Subject: Re: remove merged branches & branches with tags



On 5/26/20, Jonas Hahnfeld  wrote:

Is this OK with everyone?


Fine by me.

-- V.



+1

--
Phil Holmes



Re: remove merged branches & branches with tags

2020-05-27 Thread Valentin Villenave
On 5/26/20, Jonas Hahnfeld  wrote:
> Is this OK with everyone?

Fine by me.

-- V.



PATCHES - Countdown for May 27th

2020-05-27 Thread James Lowe

Hello,

Here is the current patch countdown list. The next countdown will be on 
May 29th.


A list of all merge requests can be found here:
https://gitlab.com/lilypond/lilypond/-/merge_requests?sort=label_priority


 Push:

!79 Rational: trade set_infinite () for infinity () - Dan Eble
https://gitlab.com/lilypond/lilypond/-/merge_requests/79

!78 Resolve "With `title = ""` SVG output differs from PDF output" - 
Valentin Villenave

https://gitlab.com/lilypond/lilypond/-/merge_requests/78

!77 Remove old .css link before installing new one - Han-Wen Nienhuys
https://gitlab.com/lilypond/lilypond/-/merge_requests/77

!75 Clarify Moment math in the C++ code - Dan Eble
https://gitlab.com/lilypond/lilypond/-/merge_requests/75

!74 Issue 5262: LM: incorrect staff-staff-spacing example (regression) - 
Kevin Barry

https://gitlab.com/lilypond/lilypond/-/merge_requests/74

!73 Handle round-filled-box with infinity in arguments - Han-Wen Nienhuys
https://gitlab.com/lilypond/lilypond/-/merge_requests/73

!70 random cleanups in the output framework - Han-Wen Nienhuys
https://gitlab.com/lilypond/lilypond/-/merge_requests/70

!65 musicxml2ly: support multiple  elements - Valentin 
Villenave

https://gitlab.com/lilypond/lilypond/-/merge_requests/65

!63 Fix #967: add a --svg command line option. - Valentin Villenave
https://gitlab.com/lilypond/lilypond/-/merge_requests/63

!60 Resolve "Use templates for lots of conversions to SCM and back" - 
David Kastrup

https://gitlab.com/lilypond/lilypond/-/merge_requests/60


 Countdown:

!89 Provide and use Diagnostics base class - David Kastrup
https://gitlab.com/lilypond/lilypond/-/merge_requests/89

!88 A few minor changes for Percent_repeat_iterator::music_tail - David 
Kastrup

https://gitlab.com/lilypond/lilypond/-/merge_requests/88

!87 Remove the read of lily_output_dir - Han-Wen Nienhuys
https://gitlab.com/lilypond/lilypond/-/merge_requests/87

!86 Use exist_ok=True instead of checking os.path.isdir() first - 
Han-Wen Nienhuys

https://gitlab.com/lilypond/lilypond/-/merge_requests/86

!85 Clean up warnings in lily/change-iterator.cc - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/85

!83 doc build cleanups - Han-Wen Nienhuys
https://gitlab.com/lilypond/lilypond/-/merge_requests/83

!82 Enable debug checks in CI - Jonas Hahnfeld
https://gitlab.com/lilypond/lilypond/-/merge_requests/82

!81 Add CFF font name cache to get_postscript_name () - Masamichi Hosoda
https://gitlab.com/lilypond/lilypond/-/merge_requests/81

!76 cleanups related to break-visibility handling - Han-Wen Nienhuys
https://gitlab.com/lilypond/lilypond/-/merge_requests/76

!71 Fix input/regression/skyline-grob-rotation.ly - Han-Wen Nienhuys
https://gitlab.com/lilypond/lilypond/-/merge_requests/71

!69 ps-to-png: use GhostScript's DownScaleFactor for antialiasing - 
Han-Wen Nienhuys

https://gitlab.com/lilypond/lilypond/-/merge_requests/69

!53 Allow CSS-style colors anywhere - Valentin Villenave
https://gitlab.com/lilypond/lilypond/-/merge_requests/53


 Review:

!91 Doc: expand NR 1.6.2.3 Hiding staves - Valentin Villenave
https://gitlab.com/lilypond/lilypond/-/merge_requests/91


 New:

!92 Don't quote and evaluate command line variables - David Kastrup
https://gitlab.com/lilypond/lilypond/-/merge_requests/92


 Waiting:

!72 Move skylines_from_stencil out of the Stencil class - Han-Wen Nienhuys
https://gitlab.com/lilypond/lilypond/-/merge_requests/72




***

Regards,

James