You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Yishay Weiss <yi...@hotmail.com> on 2023/05/01 07:28:17 UTC

Re: 0.9.10 Release

Update on current status:

Thanks to Josh's fixes to compiler and typedefs we have reproducible binary artifacts in maven build. The main release archives, however, still have some issues:

a) Line ending inconsistency in source files. I think this is fixed by changing git global settings on CI to core.autocrlf to 'input'.
b) differences in PNG, gif, ico, mp3, mp4, ttf  for source files. I suspect ant zip task is compressing these, so I'll have to change build script to disable compression for those files.
c) Encoding differences in txt, as, DEPENDENCIES source files. I will need to figure out where this encoding happens, I suspect it's a zip task issue too.
________________________________
From: Yishay Weiss <yi...@hotmail.com>
Sent: Thursday, April 27, 2023 3:25 PM
To: dev@royale.apache.org <de...@royale.apache.org>
Subject: Re: 0.9.10 Release

Thanks, that worked.
________________________________
From: Josh Tynjala <jo...@bowlerhat.dev>
Sent: Tuesday, April 25, 2023 9:15 PM
To: dev@royale.apache.org <de...@royale.apache.org>
Subject: Re: 0.9.10 Release

It looks like the jquery-1.9.js externs download was being cached by
download-maven-plugin, and one machine had an older version than the other.
We were skipping the cache for other .js externs downloads already, so I
updated them all to skip the cache.

Hopefully, this will be the last difference. Give it another try!

--
Josh Tynjala
Bowler Hat LLC <https://bowlerhat.dev>


On Thu, Apr 20, 2023 at 12:17 AM Yishay Weiss <yi...@hotmail.com>
wrote:

> I started another release candidate. Somehow, I'm getting a
> reproducibility problem which did not exist before in type-defs.
>
> If somebody wants to confirm  you can try to reproduce the problem with
> the following step:
>
>
> From the royale-typedefs repo:
> 1. Run ant -f releasesteps.xml Release_Step_007 -Drelease.version=0.9.10
> -DskipTests=true
>
> I had to  locally modify releasesteps.xml (line 122) to add CI
> crendentials [1]. I still need to fix the permissions in CI.
>
> What I'm seeing is that locally built
> royale-typedefs-jquery-0.9.10-typedefs.swc does not match archived one.
>
> [1] username="****" password="***"
> ________________________________
> From: Josh Tynjala <jo...@bowlerhat.dev>
> Sent: Monday, April 17, 2023 11:52 PM
> To: dev@royale.apache.org <de...@royale.apache.org>
> Subject: Re: 0.9.10 Release
>
> Alright, my commit today seems to do the trick. All SWC files in the
> js/libs, frameworks/libs, and frameworks/js/libs directories are a binary
> match when I compare the Maven distribution as built on macOS vs built on
> Windows.
>
> You need to make sure to pull the latest develop branch for both
> royale-compiler and royale-asjs.
>
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
>
>
> On Sun, Apr 16, 2023 at 5:59 AM Yishay Weiss <yi...@hotmail.com>
> wrote:
>
> > >I still need to figure out the duplicate hoisted variables in MXRoyale.
> >
> > I can confirm it's still happening. It does not happen on my machine with
> > a simple "mvn clean install".
> > ________________________________
> > From: Josh Tynjala <jo...@bowlerhat.dev>
> > Sent: Friday, April 7, 2023 2:01 AM
> > To: dev@royale.apache.org <de...@royale.apache.org>
> > Subject: Re: 0.9.10 Release
> >
> > My latest commits make the Jewel and JewelJS SWC files match between my
> > macOS and Windows machines. I ended up having to switch to a different
> > Maven Sass plugin because I realized the one we were using was no longer
> > maintained, and it was misbehaving. This new plugin is based on the newer
> > Sass that doesn't support CRLF output at all, so the changes I talked
> about
> > in my previous email ended up being a strict requirement.
> >
> > I still need to figure out the duplicate hoisted variables in MXRoyale.
> > I'll need to dive into that on another day.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> >
> > On Thu, Apr 6, 2023 at 9:57 AM Josh Tynjala <jo...@bowlerhat.dev>
> > wrote:
> >
> > > Some more findings:
> > >
> > > The difference in Jewel appears to be caused by defaults.css. The Maven
> > > build at some point was updated to force Sass to output CRLF on
> Windows,
> > to
> > > keep Git from saying that the file is modified after regenerating it.
> > > Unfortunately, this breaks the ability to do a cross-platform
> > reproducible
> > > build because every other platform uses LF. I'm probably going to undo
> > this
> > > change (sorry, Greg!).  However, it looks like adding a .gitattributes
> > file
> > > to the repo allows us to force line endings for specific files or
> > > extensions, regardless of autocrlf behavior. It should provide the same
> > > benefit as Greg's commit, while restoring reproducible builds. Side
> > note: I
> > > also found that modern Sass doesn't even provide the option to use
> CRLF,
> > so
> > > this change is probably for the best because we may need to upgrade
> Sass
> > in
> > > the future.
> > >
> > > The situation with duplicates of hoisted variables in
> > > MXRoyaleBase/MXRoyale in JDK 17 might be a threading conflict (and
> > probably
> > > could happen with JDK 11 too, if conditions are correct). When the
> issue
> > > reproduces, I see that the function scope actually contains duplicate
> > > definitions of every local variable, instead of just one of each.
> > > Interestingly, if I add enough logging to help myself debug this issue,
> > the
> > > scope ends up containing one of each local variable, and it doesn't
> > > duplicate the hoisted variables anymore. That makes me think multiple
> > > threads may be manipulating the scope.
> > >
> > > --
> > > Josh Tynjala
> > > Bowler Hat LLC <https://bowlerhat.dev>
> > >
> > >
> > > On Wed, Apr 5, 2023 at 2:42 PM Josh Tynjala <joshtynjala@bowlerhat.dev
> >
> > > wrote:
> > >
> > >> Some preliminary findings:
> > >>
> > >> Jewel:
> > >> - Some plaintext [Embed] content was not matching up between macOS and
> > >> Windows. It was clearly a text encoding issue. I fixed a compiler bug
> > >> where it was using the system default encoding instead of UTF-8. A
> > >> workaround would be to use JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8.
> > >> - The SWF files inside the Jewel SWCs still do not match between my
> > >> machines. I still need to figure out why. Probably a missing compiler
> > >> option in the Jewel pom.xml file.
> > >>
> > >> MXRoyale and MXRoyaleBase:
> > >> - On Windows, I was seeing hoisted variables appear in the JS output
> > >> twice. I noticed that I was using JDK 11 on macOS, and JDK 17 on
> > Windows.
> > >> When I switched to JDK 11 on Windows, the problem went away. It looks
> > like
> > >> there's a bug in the compiler that needs to be fixed to support JDK
> 17.
> > >> Until then, I recommend building with JDK 11 or older (8 should be
> fine
> > >> too).
> > >>
> > >> --
> > >> Josh Tynjala
> > >> Bowler Hat LLC <https://bowlerhat.dev>
> > >>
> > >>
> > >> On Wed, Apr 5, 2023 at 10:11 AM Josh Tynjala <
> joshtynjala@bowlerhat.dev
> > >
> > >> wrote:
> > >>
> > >>> Alright, I built the distribution locally with Maven on two different
> > >>> machines, and I can see that the following SWCs don't match: Jewel,
> > >>> MXRoyale, and MXRoyaleBase
> > >>>
> > >>> It affects both the JS and SWF versions of the SWCs.
> > >>>
> > >>> I'll see what I can do.
> > >>>
> > >>> --
> > >>> Josh Tynjala
> > >>> Bowler Hat LLC <https://bowlerhat.dev>
> > >>>
> > >>>
> > >>> On Mon, Apr 3, 2023 at 8:04 AM Josh Tynjala <
> joshtynjala@bowlerhat.dev
> > >
> > >>> wrote:
> > >>>
> > >>>> Yes, it's on by default.
> > >>>>
> > >>>> I guess that there must be some other reason why the builds don't
> > match
> > >>>> up. I just happened to notice this, in particular, was different
> > between
> > >>>> the Ant build and the Maven build.
> > >>>>
> > >>>> You may need to extract the .swc files and manually compare the
> > >>>> contents to see what is different.
> > >>>>
> > >>>> --
> > >>>> Josh Tynjala
> > >>>> Bowler Hat LLC <https://bowlerhat.dev>
> > >>>>
> > >>>>
> > >>>> On Sun, Apr 2, 2023 at 4:01 AM Yishay Weiss <yishayjobs@hotmail.com
> >
> > >>>> wrote:
> > >>>>
> > >>>>> Is that option on by default? I just tried building both on release
> > >>>>> machine and locally and am still getting the mismatch.
> > >>>>>
> > >>>>> <exec executable="${mvn}" dir="${artifactfolder}/sources"
> > >>>>> failonerror="true" >
> > >>>>>             <arg value="-X" />
> > >>>>>             <arg value="-P" />
> > >>>>>             <arg
> > >>>>>
> >
> value="royale-release,apache-release,_reproducible-build,with-distribution,with-examples,with-manualtests,option-with-swf"
> > >>>>> />
> > >>>>>             <arg value="clean" />
> > >>>>>             <arg value="install" />
> > >>>>>         </exec>
> > >>>>>
> > >>>>> Is how it gets built now locally. Intuitively debug info should not
> > be
> > >>>>> part of the release but I need to look into it further.
> > >>>>> ________________________________
> > >>>>> From: Josh Tynjala <jo...@bowlerhat.dev>
> > >>>>> Sent: Tuesday, March 28, 2023 6:17 PM
> > >>>>> To: dev@royale.apache.org <de...@royale.apache.org>
> > >>>>> Subject: Re: 0.9.10 Release
> > >>>>>
> > >>>>> Hey Yishay,
> > >>>>>
> > >>>>> I recently made a commit that adds the swf-debugfile-alias compiler
> > >>>>> option
> > >>>>> for SWC files built by Maven. This compiler option was being used
> by
> > >>>>> Ant
> > >>>>> already, but it never got added to the Maven build. And I think
> that
> > >>>>> binaries would fail comparison without it. This may be why Release
> > >>>>> Step 11
> > >>>>> was failing for you.
> > >>>>>
> > >>>>> Basically, swf-debugfile-alias ensures that the debugging
> information
> > >>>>> in
> > >>>>> the SWC doesn't include the local path to the .as/.mxml source
> files
> > >>>>> (starting with something like C:\Users\joshtynjala\ or
> > >>>>> /Users/CoolGuy19/).
> > >>>>> Instead, it sets a generic path that will always match among builds
> > >>>>> from
> > >>>>> different machines. Considering this was missing, it sure sounds
> > like a
> > >>>>> reason why binary comparison would fail.
> > >>>>>
> > >>>>> --
> > >>>>> Josh Tynjala
> > >>>>> Bowler Hat LLC <https://bowlerhat.dev>
> > >>>>>
> > >>>>>
> > >>>>> On Wed, Feb 22, 2023 at 10:38 AM Yishay Weiss <
> > yishayjobs@hotmail.com>
> > >>>>> wrote:
> > >>>>>
> > >>>>> > FYI I am put this on hold about 2 weeks ago after failing to
> debug
> > a
> > >>>>> > binary reproducibility issue in as-js repo.
> > >>>>> >
> > >>>>> > @Harbs<ma...@gmail.com>, can you see if the same
> > issue
> > >>>>> > exists for you?
> > >>>>> >
> > >>>>> > You can follow instructions [1] and tell me if step 2 succeeded
> or
> > >>>>> failed
> > >>>>> > for you.
> > >>>>> >
> > >>>>> > Thanks.
> > >>>>> >
> > >>>>> > [1]
> > >>>>> >
> > >>>>>
> >
> apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
> > >>>>> > <
> > >>>>> >
> > >>>>>
> >
> http://apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
> > >>>>> > >
> > >>>>> > ________________________________
> > >>>>> > From: Josh Tynjala <jo...@bowlerhat.dev>
> > >>>>> > Sent: Tuesday, January 17, 2023 10:08 PM
> > >>>>> > To: dev@royale.apache.org <de...@royale.apache.org>
> > >>>>> > Subject: Re: 0.9.10 Release
> > >>>>> >
> > >>>>> > Oops! I meant NO further changes. Sorry about that. You're good
> to
> > >>>>> go on my
> > >>>>> > end.
> > >>>>> >
> > >>>>> > --
> > >>>>> > Josh Tynjala
> > >>>>> > Bowler Hat LLC <https://bowlerhat.dev>
> > >>>>> >
> > >>>>> >
> > >>>>> > On Tue, Jan 17, 2023 at 11:32 AM Yishay Weiss <
> > >>>>> yishayjobs@hotmail.com>
> > >>>>> > wrote:
> > >>>>> >
> > >>>>> > > Thanks for the update, let me know when to pull the trigger.
> > >>>>> > >
> > >>>>> > > Get Outlook for Android<https://aka.ms/AAb9ysg>
> > >>>>> > > ________________________________
> > >>>>> > > From: Josh Tynjala <jo...@bowlerhat.dev>
> > >>>>> > > Sent: Tuesday, January 17, 2023 7:05:29 PM
> > >>>>> > > To: dev@royale.apache.org <de...@royale.apache.org>
> > >>>>> > > Subject: Re: 0.9.10 Release
> > >>>>> > >
> > >>>>> > > I've updated the release notes with my changes. I have further
> > >>>>> changes
> > >>>>> > > planned before the release.
> > >>>>> > >
> > >>>>> > > --
> > >>>>> > > Josh Tynjala
> > >>>>> > > Bowler Hat LLC <https://bowlerhat.dev>
> > >>>>> > >
> > >>>>> > >
> > >>>>> > > On Mon, Jan 16, 2023 at 12:40 AM Yishay Weiss <
> > >>>>> yishayjobs@hotmail.com>
> > >>>>> > > wrote:
> > >>>>> > >
> > >>>>> > > > Hi Guys,
> > >>>>> > > >
> > >>>>> > > > We’re starting a new release soon. As it’s been a while and I
> > >>>>> expect
> > >>>>> > some
> > >>>>> > > > issues I have agreed with Harbs to do this release. 0.9.11
> > >>>>> should be
> > >>>>> > > easier
> > >>>>> > > > if we don’t wait too long, so the goal is for a different
> > >>>>> volunteer to
> > >>>>> > do
> > >>>>> > > > the next one.
> > >>>>> > > >
> > >>>>> > > > If anybody wants to commit changes they are welcome to do so
> > >>>>> now, and
> > >>>>> > > > update the release notes.
> > >>>>> > > >
> > >>>>> > > > Please make sure the integration tests are working post
> > commits.
> > >>>>> > > >
> > >>>>> > > > Thanks,
> > >>>>> > > > Yishay
> > >>>>> > > >
> > >>>>> > >
> > >>>>> >
> > >>>>>
> > >>>>
> >
>

Re: 0.9.10 Release

Posted by Yishay Weiss <yi...@hotmail.com>.
On a second run I did not see functional tests fail but did see issues with tour de jewel example not finding a theme. I opened the vote and discuss thread so we can decide what to do.
________________________________
From: Gabe Harbs <ha...@gmail.com>
Sent: Thursday, May 4, 2023 11:29 PM
To: dev@royale.apache.org <de...@royale.apache.org>
Subject: Re: 0.9.10 Release

I had some issues getting FunctionalTests to pass due to timing issues. It might not work reliably on all machines. You can probably [Ignore] the problematic one(s). Which ones fail?

> On May 4, 2023, at 11:24 PM, Yishay Weiss <yi...@hotmail.com> wrote:
>
> The encoding issues were fixed (had to set java_tool_options on CI server). After running the approval script however I noticed I did not update releasemgr/RELEASE_NOTES. Also, there is a unit test fail:
>
> Suite: flexUnitTests.FunctionalTests
>
> Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.492 sec
> ________________________________
> From: Yishay Weiss <yi...@hotmail.com>
> Sent: Monday, May 1, 2023 10:28 AM
> To: dev@royale.apache.org <de...@royale.apache.org>
> Subject: Re: 0.9.10 Release
>
> Update on current status:
>
> Thanks to Josh's fixes to compiler and typedefs we have reproducible binary artifacts in maven build. The main release archives, however, still have some issues:
>
> a) Line ending inconsistency in source files. I think this is fixed by changing git global settings on CI to core.autocrlf to 'input'.
> b) differences in PNG, gif, ico, mp3, mp4, ttf  for source files. I suspect ant zip task is compressing these, so I'll have to change build script to disable compression for those files.
> c) Encoding differences in txt, as, DEPENDENCIES source files. I will need to figure out where this encoding happens, I suspect it's a zip task issue too.
> ________________________________
> From: Yishay Weiss <yi...@hotmail.com>
> Sent: Thursday, April 27, 2023 3:25 PM
> To: dev@royale.apache.org <de...@royale.apache.org>
> Subject: Re: 0.9.10 Release
>
> Thanks, that worked.
> ________________________________
> From: Josh Tynjala <jo...@bowlerhat.dev>
> Sent: Tuesday, April 25, 2023 9:15 PM
> To: dev@royale.apache.org <de...@royale.apache.org>
> Subject: Re: 0.9.10 Release
>
> It looks like the jquery-1.9.js externs download was being cached by
> download-maven-plugin, and one machine had an older version than the other.
> We were skipping the cache for other .js externs downloads already, so I
> updated them all to skip the cache.
>
> Hopefully, this will be the last difference. Give it another try!
>
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
>
>
> On Thu, Apr 20, 2023 at 12:17 AM Yishay Weiss <yi...@hotmail.com>
> wrote:
>
>> I started another release candidate. Somehow, I'm getting a
>> reproducibility problem which did not exist before in type-defs.
>>
>> If somebody wants to confirm  you can try to reproduce the problem with
>> the following step:
>>
>>
>> From the royale-typedefs repo:
>> 1. Run ant -f releasesteps.xml Release_Step_007 -Drelease.version=0.9.10
>> -DskipTests=true
>>
>> I had to  locally modify releasesteps.xml (line 122) to add CI
>> crendentials [1]. I still need to fix the permissions in CI.
>>
>> What I'm seeing is that locally built
>> royale-typedefs-jquery-0.9.10-typedefs.swc does not match archived one.
>>
>> [1] username="****" password="***"
>> ________________________________
>> From: Josh Tynjala <jo...@bowlerhat.dev>
>> Sent: Monday, April 17, 2023 11:52 PM
>> To: dev@royale.apache.org <de...@royale.apache.org>
>> Subject: Re: 0.9.10 Release
>>
>> Alright, my commit today seems to do the trick. All SWC files in the
>> js/libs, frameworks/libs, and frameworks/js/libs directories are a binary
>> match when I compare the Maven distribution as built on macOS vs built on
>> Windows.
>>
>> You need to make sure to pull the latest develop branch for both
>> royale-compiler and royale-asjs.
>>
>> --
>> Josh Tynjala
>> Bowler Hat LLC <https://bowlerhat.dev>
>>
>>
>> On Sun, Apr 16, 2023 at 5:59 AM Yishay Weiss <yi...@hotmail.com>
>> wrote:
>>
>>>> I still need to figure out the duplicate hoisted variables in MXRoyale.
>>>
>>> I can confirm it's still happening. It does not happen on my machine with
>>> a simple "mvn clean install".
>>> ________________________________
>>> From: Josh Tynjala <jo...@bowlerhat.dev>
>>> Sent: Friday, April 7, 2023 2:01 AM
>>> To: dev@royale.apache.org <de...@royale.apache.org>
>>> Subject: Re: 0.9.10 Release
>>>
>>> My latest commits make the Jewel and JewelJS SWC files match between my
>>> macOS and Windows machines. I ended up having to switch to a different
>>> Maven Sass plugin because I realized the one we were using was no longer
>>> maintained, and it was misbehaving. This new plugin is based on the newer
>>> Sass that doesn't support CRLF output at all, so the changes I talked
>> about
>>> in my previous email ended up being a strict requirement.
>>>
>>> I still need to figure out the duplicate hoisted variables in MXRoyale.
>>> I'll need to dive into that on another day.
>>>
>>> --
>>> Josh Tynjala
>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>
>>>
>>> On Thu, Apr 6, 2023 at 9:57 AM Josh Tynjala <jo...@bowlerhat.dev>
>>> wrote:
>>>
>>>> Some more findings:
>>>>
>>>> The difference in Jewel appears to be caused by defaults.css. The Maven
>>>> build at some point was updated to force Sass to output CRLF on
>> Windows,
>>> to
>>>> keep Git from saying that the file is modified after regenerating it.
>>>> Unfortunately, this breaks the ability to do a cross-platform
>>> reproducible
>>>> build because every other platform uses LF. I'm probably going to undo
>>> this
>>>> change (sorry, Greg!).  However, it looks like adding a .gitattributes
>>> file
>>>> to the repo allows us to force line endings for specific files or
>>>> extensions, regardless of autocrlf behavior. It should provide the same
>>>> benefit as Greg's commit, while restoring reproducible builds. Side
>>> note: I
>>>> also found that modern Sass doesn't even provide the option to use
>> CRLF,
>>> so
>>>> this change is probably for the best because we may need to upgrade
>> Sass
>>> in
>>>> the future.
>>>>
>>>> The situation with duplicates of hoisted variables in
>>>> MXRoyaleBase/MXRoyale in JDK 17 might be a threading conflict (and
>>> probably
>>>> could happen with JDK 11 too, if conditions are correct). When the
>> issue
>>>> reproduces, I see that the function scope actually contains duplicate
>>>> definitions of every local variable, instead of just one of each.
>>>> Interestingly, if I add enough logging to help myself debug this issue,
>>> the
>>>> scope ends up containing one of each local variable, and it doesn't
>>>> duplicate the hoisted variables anymore. That makes me think multiple
>>>> threads may be manipulating the scope.
>>>>
>>>> --
>>>> Josh Tynjala
>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>
>>>>
>>>> On Wed, Apr 5, 2023 at 2:42 PM Josh Tynjala <joshtynjala@bowlerhat.dev
>>>
>>>> wrote:
>>>>
>>>>> Some preliminary findings:
>>>>>
>>>>> Jewel:
>>>>> - Some plaintext [Embed] content was not matching up between macOS and
>>>>> Windows. It was clearly a text encoding issue. I fixed a compiler bug
>>>>> where it was using the system default encoding instead of UTF-8. A
>>>>> workaround would be to use JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8.
>>>>> - The SWF files inside the Jewel SWCs still do not match between my
>>>>> machines. I still need to figure out why. Probably a missing compiler
>>>>> option in the Jewel pom.xml file.
>>>>>
>>>>> MXRoyale and MXRoyaleBase:
>>>>> - On Windows, I was seeing hoisted variables appear in the JS output
>>>>> twice. I noticed that I was using JDK 11 on macOS, and JDK 17 on
>>> Windows.
>>>>> When I switched to JDK 11 on Windows, the problem went away. It looks
>>> like
>>>>> there's a bug in the compiler that needs to be fixed to support JDK
>> 17.
>>>>> Until then, I recommend building with JDK 11 or older (8 should be
>> fine
>>>>> too).
>>>>>
>>>>> --
>>>>> Josh Tynjala
>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>
>>>>>
>>>>> On Wed, Apr 5, 2023 at 10:11 AM Josh Tynjala <
>> joshtynjala@bowlerhat.dev
>>>>
>>>>> wrote:
>>>>>
>>>>>> Alright, I built the distribution locally with Maven on two different
>>>>>> machines, and I can see that the following SWCs don't match: Jewel,
>>>>>> MXRoyale, and MXRoyaleBase
>>>>>>
>>>>>> It affects both the JS and SWF versions of the SWCs.
>>>>>>
>>>>>> I'll see what I can do.
>>>>>>
>>>>>> --
>>>>>> Josh Tynjala
>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>
>>>>>>
>>>>>> On Mon, Apr 3, 2023 at 8:04 AM Josh Tynjala <
>> joshtynjala@bowlerhat.dev
>>>>
>>>>>> wrote:
>>>>>>
>>>>>>> Yes, it's on by default.
>>>>>>>
>>>>>>> I guess that there must be some other reason why the builds don't
>>> match
>>>>>>> up. I just happened to notice this, in particular, was different
>>> between
>>>>>>> the Ant build and the Maven build.
>>>>>>>
>>>>>>> You may need to extract the .swc files and manually compare the
>>>>>>> contents to see what is different.
>>>>>>>
>>>>>>> --
>>>>>>> Josh Tynjala
>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Apr 2, 2023 at 4:01 AM Yishay Weiss <yishayjobs@hotmail.com
>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Is that option on by default? I just tried building both on release
>>>>>>>> machine and locally and am still getting the mismatch.
>>>>>>>>
>>>>>>>> <exec executable="${mvn}" dir="${artifactfolder}/sources"
>>>>>>>> failonerror="true" >
>>>>>>>>            <arg value="-X" />
>>>>>>>>            <arg value="-P" />
>>>>>>>>            <arg
>>>>>>>>
>>>
>> value="royale-release,apache-release,_reproducible-build,with-distribution,with-examples,with-manualtests,option-with-swf"
>>>>>>>> />
>>>>>>>>            <arg value="clean" />
>>>>>>>>            <arg value="install" />
>>>>>>>>        </exec>
>>>>>>>>
>>>>>>>> Is how it gets built now locally. Intuitively debug info should not
>>> be
>>>>>>>> part of the release but I need to look into it further.
>>>>>>>> ________________________________
>>>>>>>> From: Josh Tynjala <jo...@bowlerhat.dev>
>>>>>>>> Sent: Tuesday, March 28, 2023 6:17 PM
>>>>>>>> To: dev@royale.apache.org <de...@royale.apache.org>
>>>>>>>> Subject: Re: 0.9.10 Release
>>>>>>>>
>>>>>>>> Hey Yishay,
>>>>>>>>
>>>>>>>> I recently made a commit that adds the swf-debugfile-alias compiler
>>>>>>>> option
>>>>>>>> for SWC files built by Maven. This compiler option was being used
>> by
>>>>>>>> Ant
>>>>>>>> already, but it never got added to the Maven build. And I think
>> that
>>>>>>>> binaries would fail comparison without it. This may be why Release
>>>>>>>> Step 11
>>>>>>>> was failing for you.
>>>>>>>>
>>>>>>>> Basically, swf-debugfile-alias ensures that the debugging
>> information
>>>>>>>> in
>>>>>>>> the SWC doesn't include the local path to the .as/.mxml source
>> files
>>>>>>>> (starting with something like C:\Users\joshtynjala\ or
>>>>>>>> /Users/CoolGuy19/).
>>>>>>>> Instead, it sets a generic path that will always match among builds
>>>>>>>> from
>>>>>>>> different machines. Considering this was missing, it sure sounds
>>> like a
>>>>>>>> reason why binary comparison would fail.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Josh Tynjala
>>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Feb 22, 2023 at 10:38 AM Yishay Weiss <
>>> yishayjobs@hotmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> FYI I am put this on hold about 2 weeks ago after failing to
>> debug
>>> a
>>>>>>>>> binary reproducibility issue in as-js repo.
>>>>>>>>>
>>>>>>>>> @Harbs<ma...@gmail.com>, can you see if the same
>>> issue
>>>>>>>>> exists for you?
>>>>>>>>>
>>>>>>>>> You can follow instructions [1] and tell me if step 2 succeeded
>> or
>>>>>>>> failed
>>>>>>>>> for you.
>>>>>>>>>
>>>>>>>>> Thanks.
>>>>>>>>>
>>>>>>>>> [1]
>>>>>>>>>
>>>>>>>>
>>>
>> apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
>>>>>>>>> <
>>>>>>>>>
>>>>>>>>
>>>
>> http://apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
>>>>>>>>>>
>>>>>>>>> ________________________________
>>>>>>>>> From: Josh Tynjala <jo...@bowlerhat.dev>
>>>>>>>>> Sent: Tuesday, January 17, 2023 10:08 PM
>>>>>>>>> To: dev@royale.apache.org <de...@royale.apache.org>
>>>>>>>>> Subject: Re: 0.9.10 Release
>>>>>>>>>
>>>>>>>>> Oops! I meant NO further changes. Sorry about that. You're good
>> to
>>>>>>>> go on my
>>>>>>>>> end.
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Josh Tynjala
>>>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Jan 17, 2023 at 11:32 AM Yishay Weiss <
>>>>>>>> yishayjobs@hotmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Thanks for the update, let me know when to pull the trigger.
>>>>>>>>>>
>>>>>>>>>> Get Outlook for Android<https://aka.ms/AAb9ysg>
>>>>>>>>>> ________________________________
>>>>>>>>>> From: Josh Tynjala <jo...@bowlerhat.dev>
>>>>>>>>>> Sent: Tuesday, January 17, 2023 7:05:29 PM
>>>>>>>>>> To: dev@royale.apache.org <de...@royale.apache.org>
>>>>>>>>>> Subject: Re: 0.9.10 Release
>>>>>>>>>>
>>>>>>>>>> I've updated the release notes with my changes. I have further
>>>>>>>> changes
>>>>>>>>>> planned before the release.
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Josh Tynjala
>>>>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Jan 16, 2023 at 12:40 AM Yishay Weiss <
>>>>>>>> yishayjobs@hotmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Guys,
>>>>>>>>>>>
>>>>>>>>>>> We’re starting a new release soon. As it’s been a while and I
>>>>>>>> expect
>>>>>>>>> some
>>>>>>>>>>> issues I have agreed with Harbs to do this release. 0.9.11
>>>>>>>> should be
>>>>>>>>>> easier
>>>>>>>>>>> if we don’t wait too long, so the goal is for a different
>>>>>>>> volunteer to
>>>>>>>>> do
>>>>>>>>>>> the next one.
>>>>>>>>>>>
>>>>>>>>>>> If anybody wants to commit changes they are welcome to do so
>>>>>>>> now, and
>>>>>>>>>>> update the release notes.
>>>>>>>>>>>
>>>>>>>>>>> Please make sure the integration tests are working post
>>> commits.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Yishay
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>
>>


Re: 0.9.10 Release

Posted by Gabe Harbs <ha...@gmail.com>.
I had some issues getting FunctionalTests to pass due to timing issues. It might not work reliably on all machines. You can probably [Ignore] the problematic one(s). Which ones fail?

> On May 4, 2023, at 11:24 PM, Yishay Weiss <yi...@hotmail.com> wrote:
> 
> The encoding issues were fixed (had to set java_tool_options on CI server). After running the approval script however I noticed I did not update releasemgr/RELEASE_NOTES. Also, there is a unit test fail:
> 
> Suite: flexUnitTests.FunctionalTests
> 
> Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.492 sec
> ________________________________
> From: Yishay Weiss <yi...@hotmail.com>
> Sent: Monday, May 1, 2023 10:28 AM
> To: dev@royale.apache.org <de...@royale.apache.org>
> Subject: Re: 0.9.10 Release
> 
> Update on current status:
> 
> Thanks to Josh's fixes to compiler and typedefs we have reproducible binary artifacts in maven build. The main release archives, however, still have some issues:
> 
> a) Line ending inconsistency in source files. I think this is fixed by changing git global settings on CI to core.autocrlf to 'input'.
> b) differences in PNG, gif, ico, mp3, mp4, ttf  for source files. I suspect ant zip task is compressing these, so I'll have to change build script to disable compression for those files.
> c) Encoding differences in txt, as, DEPENDENCIES source files. I will need to figure out where this encoding happens, I suspect it's a zip task issue too.
> ________________________________
> From: Yishay Weiss <yi...@hotmail.com>
> Sent: Thursday, April 27, 2023 3:25 PM
> To: dev@royale.apache.org <de...@royale.apache.org>
> Subject: Re: 0.9.10 Release
> 
> Thanks, that worked.
> ________________________________
> From: Josh Tynjala <jo...@bowlerhat.dev>
> Sent: Tuesday, April 25, 2023 9:15 PM
> To: dev@royale.apache.org <de...@royale.apache.org>
> Subject: Re: 0.9.10 Release
> 
> It looks like the jquery-1.9.js externs download was being cached by
> download-maven-plugin, and one machine had an older version than the other.
> We were skipping the cache for other .js externs downloads already, so I
> updated them all to skip the cache.
> 
> Hopefully, this will be the last difference. Give it another try!
> 
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
> 
> 
> On Thu, Apr 20, 2023 at 12:17 AM Yishay Weiss <yi...@hotmail.com>
> wrote:
> 
>> I started another release candidate. Somehow, I'm getting a
>> reproducibility problem which did not exist before in type-defs.
>> 
>> If somebody wants to confirm  you can try to reproduce the problem with
>> the following step:
>> 
>> 
>> From the royale-typedefs repo:
>> 1. Run ant -f releasesteps.xml Release_Step_007 -Drelease.version=0.9.10
>> -DskipTests=true
>> 
>> I had to  locally modify releasesteps.xml (line 122) to add CI
>> crendentials [1]. I still need to fix the permissions in CI.
>> 
>> What I'm seeing is that locally built
>> royale-typedefs-jquery-0.9.10-typedefs.swc does not match archived one.
>> 
>> [1] username="****" password="***"
>> ________________________________
>> From: Josh Tynjala <jo...@bowlerhat.dev>
>> Sent: Monday, April 17, 2023 11:52 PM
>> To: dev@royale.apache.org <de...@royale.apache.org>
>> Subject: Re: 0.9.10 Release
>> 
>> Alright, my commit today seems to do the trick. All SWC files in the
>> js/libs, frameworks/libs, and frameworks/js/libs directories are a binary
>> match when I compare the Maven distribution as built on macOS vs built on
>> Windows.
>> 
>> You need to make sure to pull the latest develop branch for both
>> royale-compiler and royale-asjs.
>> 
>> --
>> Josh Tynjala
>> Bowler Hat LLC <https://bowlerhat.dev>
>> 
>> 
>> On Sun, Apr 16, 2023 at 5:59 AM Yishay Weiss <yi...@hotmail.com>
>> wrote:
>> 
>>>> I still need to figure out the duplicate hoisted variables in MXRoyale.
>>> 
>>> I can confirm it's still happening. It does not happen on my machine with
>>> a simple "mvn clean install".
>>> ________________________________
>>> From: Josh Tynjala <jo...@bowlerhat.dev>
>>> Sent: Friday, April 7, 2023 2:01 AM
>>> To: dev@royale.apache.org <de...@royale.apache.org>
>>> Subject: Re: 0.9.10 Release
>>> 
>>> My latest commits make the Jewel and JewelJS SWC files match between my
>>> macOS and Windows machines. I ended up having to switch to a different
>>> Maven Sass plugin because I realized the one we were using was no longer
>>> maintained, and it was misbehaving. This new plugin is based on the newer
>>> Sass that doesn't support CRLF output at all, so the changes I talked
>> about
>>> in my previous email ended up being a strict requirement.
>>> 
>>> I still need to figure out the duplicate hoisted variables in MXRoyale.
>>> I'll need to dive into that on another day.
>>> 
>>> --
>>> Josh Tynjala
>>> Bowler Hat LLC <https://bowlerhat.dev>
>>> 
>>> 
>>> On Thu, Apr 6, 2023 at 9:57 AM Josh Tynjala <jo...@bowlerhat.dev>
>>> wrote:
>>> 
>>>> Some more findings:
>>>> 
>>>> The difference in Jewel appears to be caused by defaults.css. The Maven
>>>> build at some point was updated to force Sass to output CRLF on
>> Windows,
>>> to
>>>> keep Git from saying that the file is modified after regenerating it.
>>>> Unfortunately, this breaks the ability to do a cross-platform
>>> reproducible
>>>> build because every other platform uses LF. I'm probably going to undo
>>> this
>>>> change (sorry, Greg!).  However, it looks like adding a .gitattributes
>>> file
>>>> to the repo allows us to force line endings for specific files or
>>>> extensions, regardless of autocrlf behavior. It should provide the same
>>>> benefit as Greg's commit, while restoring reproducible builds. Side
>>> note: I
>>>> also found that modern Sass doesn't even provide the option to use
>> CRLF,
>>> so
>>>> this change is probably for the best because we may need to upgrade
>> Sass
>>> in
>>>> the future.
>>>> 
>>>> The situation with duplicates of hoisted variables in
>>>> MXRoyaleBase/MXRoyale in JDK 17 might be a threading conflict (and
>>> probably
>>>> could happen with JDK 11 too, if conditions are correct). When the
>> issue
>>>> reproduces, I see that the function scope actually contains duplicate
>>>> definitions of every local variable, instead of just one of each.
>>>> Interestingly, if I add enough logging to help myself debug this issue,
>>> the
>>>> scope ends up containing one of each local variable, and it doesn't
>>>> duplicate the hoisted variables anymore. That makes me think multiple
>>>> threads may be manipulating the scope.
>>>> 
>>>> --
>>>> Josh Tynjala
>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>> 
>>>> 
>>>> On Wed, Apr 5, 2023 at 2:42 PM Josh Tynjala <joshtynjala@bowlerhat.dev
>>> 
>>>> wrote:
>>>> 
>>>>> Some preliminary findings:
>>>>> 
>>>>> Jewel:
>>>>> - Some plaintext [Embed] content was not matching up between macOS and
>>>>> Windows. It was clearly a text encoding issue. I fixed a compiler bug
>>>>> where it was using the system default encoding instead of UTF-8. A
>>>>> workaround would be to use JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8.
>>>>> - The SWF files inside the Jewel SWCs still do not match between my
>>>>> machines. I still need to figure out why. Probably a missing compiler
>>>>> option in the Jewel pom.xml file.
>>>>> 
>>>>> MXRoyale and MXRoyaleBase:
>>>>> - On Windows, I was seeing hoisted variables appear in the JS output
>>>>> twice. I noticed that I was using JDK 11 on macOS, and JDK 17 on
>>> Windows.
>>>>> When I switched to JDK 11 on Windows, the problem went away. It looks
>>> like
>>>>> there's a bug in the compiler that needs to be fixed to support JDK
>> 17.
>>>>> Until then, I recommend building with JDK 11 or older (8 should be
>> fine
>>>>> too).
>>>>> 
>>>>> --
>>>>> Josh Tynjala
>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>> 
>>>>> 
>>>>> On Wed, Apr 5, 2023 at 10:11 AM Josh Tynjala <
>> joshtynjala@bowlerhat.dev
>>>> 
>>>>> wrote:
>>>>> 
>>>>>> Alright, I built the distribution locally with Maven on two different
>>>>>> machines, and I can see that the following SWCs don't match: Jewel,
>>>>>> MXRoyale, and MXRoyaleBase
>>>>>> 
>>>>>> It affects both the JS and SWF versions of the SWCs.
>>>>>> 
>>>>>> I'll see what I can do.
>>>>>> 
>>>>>> --
>>>>>> Josh Tynjala
>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>> 
>>>>>> 
>>>>>> On Mon, Apr 3, 2023 at 8:04 AM Josh Tynjala <
>> joshtynjala@bowlerhat.dev
>>>> 
>>>>>> wrote:
>>>>>> 
>>>>>>> Yes, it's on by default.
>>>>>>> 
>>>>>>> I guess that there must be some other reason why the builds don't
>>> match
>>>>>>> up. I just happened to notice this, in particular, was different
>>> between
>>>>>>> the Ant build and the Maven build.
>>>>>>> 
>>>>>>> You may need to extract the .swc files and manually compare the
>>>>>>> contents to see what is different.
>>>>>>> 
>>>>>>> --
>>>>>>> Josh Tynjala
>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>> 
>>>>>>> 
>>>>>>> On Sun, Apr 2, 2023 at 4:01 AM Yishay Weiss <yishayjobs@hotmail.com
>>> 
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> Is that option on by default? I just tried building both on release
>>>>>>>> machine and locally and am still getting the mismatch.
>>>>>>>> 
>>>>>>>> <exec executable="${mvn}" dir="${artifactfolder}/sources"
>>>>>>>> failonerror="true" >
>>>>>>>>            <arg value="-X" />
>>>>>>>>            <arg value="-P" />
>>>>>>>>            <arg
>>>>>>>> 
>>> 
>> value="royale-release,apache-release,_reproducible-build,with-distribution,with-examples,with-manualtests,option-with-swf"
>>>>>>>> />
>>>>>>>>            <arg value="clean" />
>>>>>>>>            <arg value="install" />
>>>>>>>>        </exec>
>>>>>>>> 
>>>>>>>> Is how it gets built now locally. Intuitively debug info should not
>>> be
>>>>>>>> part of the release but I need to look into it further.
>>>>>>>> ________________________________
>>>>>>>> From: Josh Tynjala <jo...@bowlerhat.dev>
>>>>>>>> Sent: Tuesday, March 28, 2023 6:17 PM
>>>>>>>> To: dev@royale.apache.org <de...@royale.apache.org>
>>>>>>>> Subject: Re: 0.9.10 Release
>>>>>>>> 
>>>>>>>> Hey Yishay,
>>>>>>>> 
>>>>>>>> I recently made a commit that adds the swf-debugfile-alias compiler
>>>>>>>> option
>>>>>>>> for SWC files built by Maven. This compiler option was being used
>> by
>>>>>>>> Ant
>>>>>>>> already, but it never got added to the Maven build. And I think
>> that
>>>>>>>> binaries would fail comparison without it. This may be why Release
>>>>>>>> Step 11
>>>>>>>> was failing for you.
>>>>>>>> 
>>>>>>>> Basically, swf-debugfile-alias ensures that the debugging
>> information
>>>>>>>> in
>>>>>>>> the SWC doesn't include the local path to the .as/.mxml source
>> files
>>>>>>>> (starting with something like C:\Users\joshtynjala\ or
>>>>>>>> /Users/CoolGuy19/).
>>>>>>>> Instead, it sets a generic path that will always match among builds
>>>>>>>> from
>>>>>>>> different machines. Considering this was missing, it sure sounds
>>> like a
>>>>>>>> reason why binary comparison would fail.
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Josh Tynjala
>>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Wed, Feb 22, 2023 at 10:38 AM Yishay Weiss <
>>> yishayjobs@hotmail.com>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> FYI I am put this on hold about 2 weeks ago after failing to
>> debug
>>> a
>>>>>>>>> binary reproducibility issue in as-js repo.
>>>>>>>>> 
>>>>>>>>> @Harbs<ma...@gmail.com>, can you see if the same
>>> issue
>>>>>>>>> exists for you?
>>>>>>>>> 
>>>>>>>>> You can follow instructions [1] and tell me if step 2 succeeded
>> or
>>>>>>>> failed
>>>>>>>>> for you.
>>>>>>>>> 
>>>>>>>>> Thanks.
>>>>>>>>> 
>>>>>>>>> [1]
>>>>>>>>> 
>>>>>>>> 
>>> 
>> apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
>>>>>>>>> <
>>>>>>>>> 
>>>>>>>> 
>>> 
>> http://apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
>>>>>>>>>> 
>>>>>>>>> ________________________________
>>>>>>>>> From: Josh Tynjala <jo...@bowlerhat.dev>
>>>>>>>>> Sent: Tuesday, January 17, 2023 10:08 PM
>>>>>>>>> To: dev@royale.apache.org <de...@royale.apache.org>
>>>>>>>>> Subject: Re: 0.9.10 Release
>>>>>>>>> 
>>>>>>>>> Oops! I meant NO further changes. Sorry about that. You're good
>> to
>>>>>>>> go on my
>>>>>>>>> end.
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Josh Tynjala
>>>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Tue, Jan 17, 2023 at 11:32 AM Yishay Weiss <
>>>>>>>> yishayjobs@hotmail.com>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Thanks for the update, let me know when to pull the trigger.
>>>>>>>>>> 
>>>>>>>>>> Get Outlook for Android<https://aka.ms/AAb9ysg>
>>>>>>>>>> ________________________________
>>>>>>>>>> From: Josh Tynjala <jo...@bowlerhat.dev>
>>>>>>>>>> Sent: Tuesday, January 17, 2023 7:05:29 PM
>>>>>>>>>> To: dev@royale.apache.org <de...@royale.apache.org>
>>>>>>>>>> Subject: Re: 0.9.10 Release
>>>>>>>>>> 
>>>>>>>>>> I've updated the release notes with my changes. I have further
>>>>>>>> changes
>>>>>>>>>> planned before the release.
>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>>> Josh Tynjala
>>>>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Mon, Jan 16, 2023 at 12:40 AM Yishay Weiss <
>>>>>>>> yishayjobs@hotmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hi Guys,
>>>>>>>>>>> 
>>>>>>>>>>> We’re starting a new release soon. As it’s been a while and I
>>>>>>>> expect
>>>>>>>>> some
>>>>>>>>>>> issues I have agreed with Harbs to do this release. 0.9.11
>>>>>>>> should be
>>>>>>>>>> easier
>>>>>>>>>>> if we don’t wait too long, so the goal is for a different
>>>>>>>> volunteer to
>>>>>>>>> do
>>>>>>>>>>> the next one.
>>>>>>>>>>> 
>>>>>>>>>>> If anybody wants to commit changes they are welcome to do so
>>>>>>>> now, and
>>>>>>>>>>> update the release notes.
>>>>>>>>>>> 
>>>>>>>>>>> Please make sure the integration tests are working post
>>> commits.
>>>>>>>>>>> 
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Yishay
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>> 
>> 


Re: 0.9.10 Release

Posted by Yishay Weiss <yi...@hotmail.com>.
The encoding issues were fixed (had to set java_tool_options on CI server). After running the approval script however I noticed I did not update releasemgr/RELEASE_NOTES. Also, there is a unit test fail:

Suite: flexUnitTests.FunctionalTests

Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.492 sec
________________________________
From: Yishay Weiss <yi...@hotmail.com>
Sent: Monday, May 1, 2023 10:28 AM
To: dev@royale.apache.org <de...@royale.apache.org>
Subject: Re: 0.9.10 Release

Update on current status:

Thanks to Josh's fixes to compiler and typedefs we have reproducible binary artifacts in maven build. The main release archives, however, still have some issues:

a) Line ending inconsistency in source files. I think this is fixed by changing git global settings on CI to core.autocrlf to 'input'.
b) differences in PNG, gif, ico, mp3, mp4, ttf  for source files. I suspect ant zip task is compressing these, so I'll have to change build script to disable compression for those files.
c) Encoding differences in txt, as, DEPENDENCIES source files. I will need to figure out where this encoding happens, I suspect it's a zip task issue too.
________________________________
From: Yishay Weiss <yi...@hotmail.com>
Sent: Thursday, April 27, 2023 3:25 PM
To: dev@royale.apache.org <de...@royale.apache.org>
Subject: Re: 0.9.10 Release

Thanks, that worked.
________________________________
From: Josh Tynjala <jo...@bowlerhat.dev>
Sent: Tuesday, April 25, 2023 9:15 PM
To: dev@royale.apache.org <de...@royale.apache.org>
Subject: Re: 0.9.10 Release

It looks like the jquery-1.9.js externs download was being cached by
download-maven-plugin, and one machine had an older version than the other.
We were skipping the cache for other .js externs downloads already, so I
updated them all to skip the cache.

Hopefully, this will be the last difference. Give it another try!

--
Josh Tynjala
Bowler Hat LLC <https://bowlerhat.dev>


On Thu, Apr 20, 2023 at 12:17 AM Yishay Weiss <yi...@hotmail.com>
wrote:

> I started another release candidate. Somehow, I'm getting a
> reproducibility problem which did not exist before in type-defs.
>
> If somebody wants to confirm  you can try to reproduce the problem with
> the following step:
>
>
> From the royale-typedefs repo:
> 1. Run ant -f releasesteps.xml Release_Step_007 -Drelease.version=0.9.10
> -DskipTests=true
>
> I had to  locally modify releasesteps.xml (line 122) to add CI
> crendentials [1]. I still need to fix the permissions in CI.
>
> What I'm seeing is that locally built
> royale-typedefs-jquery-0.9.10-typedefs.swc does not match archived one.
>
> [1] username="****" password="***"
> ________________________________
> From: Josh Tynjala <jo...@bowlerhat.dev>
> Sent: Monday, April 17, 2023 11:52 PM
> To: dev@royale.apache.org <de...@royale.apache.org>
> Subject: Re: 0.9.10 Release
>
> Alright, my commit today seems to do the trick. All SWC files in the
> js/libs, frameworks/libs, and frameworks/js/libs directories are a binary
> match when I compare the Maven distribution as built on macOS vs built on
> Windows.
>
> You need to make sure to pull the latest develop branch for both
> royale-compiler and royale-asjs.
>
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
>
>
> On Sun, Apr 16, 2023 at 5:59 AM Yishay Weiss <yi...@hotmail.com>
> wrote:
>
> > >I still need to figure out the duplicate hoisted variables in MXRoyale.
> >
> > I can confirm it's still happening. It does not happen on my machine with
> > a simple "mvn clean install".
> > ________________________________
> > From: Josh Tynjala <jo...@bowlerhat.dev>
> > Sent: Friday, April 7, 2023 2:01 AM
> > To: dev@royale.apache.org <de...@royale.apache.org>
> > Subject: Re: 0.9.10 Release
> >
> > My latest commits make the Jewel and JewelJS SWC files match between my
> > macOS and Windows machines. I ended up having to switch to a different
> > Maven Sass plugin because I realized the one we were using was no longer
> > maintained, and it was misbehaving. This new plugin is based on the newer
> > Sass that doesn't support CRLF output at all, so the changes I talked
> about
> > in my previous email ended up being a strict requirement.
> >
> > I still need to figure out the duplicate hoisted variables in MXRoyale.
> > I'll need to dive into that on another day.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> >
> > On Thu, Apr 6, 2023 at 9:57 AM Josh Tynjala <jo...@bowlerhat.dev>
> > wrote:
> >
> > > Some more findings:
> > >
> > > The difference in Jewel appears to be caused by defaults.css. The Maven
> > > build at some point was updated to force Sass to output CRLF on
> Windows,
> > to
> > > keep Git from saying that the file is modified after regenerating it.
> > > Unfortunately, this breaks the ability to do a cross-platform
> > reproducible
> > > build because every other platform uses LF. I'm probably going to undo
> > this
> > > change (sorry, Greg!).  However, it looks like adding a .gitattributes
> > file
> > > to the repo allows us to force line endings for specific files or
> > > extensions, regardless of autocrlf behavior. It should provide the same
> > > benefit as Greg's commit, while restoring reproducible builds. Side
> > note: I
> > > also found that modern Sass doesn't even provide the option to use
> CRLF,
> > so
> > > this change is probably for the best because we may need to upgrade
> Sass
> > in
> > > the future.
> > >
> > > The situation with duplicates of hoisted variables in
> > > MXRoyaleBase/MXRoyale in JDK 17 might be a threading conflict (and
> > probably
> > > could happen with JDK 11 too, if conditions are correct). When the
> issue
> > > reproduces, I see that the function scope actually contains duplicate
> > > definitions of every local variable, instead of just one of each.
> > > Interestingly, if I add enough logging to help myself debug this issue,
> > the
> > > scope ends up containing one of each local variable, and it doesn't
> > > duplicate the hoisted variables anymore. That makes me think multiple
> > > threads may be manipulating the scope.
> > >
> > > --
> > > Josh Tynjala
> > > Bowler Hat LLC <https://bowlerhat.dev>
> > >
> > >
> > > On Wed, Apr 5, 2023 at 2:42 PM Josh Tynjala <joshtynjala@bowlerhat.dev
> >
> > > wrote:
> > >
> > >> Some preliminary findings:
> > >>
> > >> Jewel:
> > >> - Some plaintext [Embed] content was not matching up between macOS and
> > >> Windows. It was clearly a text encoding issue. I fixed a compiler bug
> > >> where it was using the system default encoding instead of UTF-8. A
> > >> workaround would be to use JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8.
> > >> - The SWF files inside the Jewel SWCs still do not match between my
> > >> machines. I still need to figure out why. Probably a missing compiler
> > >> option in the Jewel pom.xml file.
> > >>
> > >> MXRoyale and MXRoyaleBase:
> > >> - On Windows, I was seeing hoisted variables appear in the JS output
> > >> twice. I noticed that I was using JDK 11 on macOS, and JDK 17 on
> > Windows.
> > >> When I switched to JDK 11 on Windows, the problem went away. It looks
> > like
> > >> there's a bug in the compiler that needs to be fixed to support JDK
> 17.
> > >> Until then, I recommend building with JDK 11 or older (8 should be
> fine
> > >> too).
> > >>
> > >> --
> > >> Josh Tynjala
> > >> Bowler Hat LLC <https://bowlerhat.dev>
> > >>
> > >>
> > >> On Wed, Apr 5, 2023 at 10:11 AM Josh Tynjala <
> joshtynjala@bowlerhat.dev
> > >
> > >> wrote:
> > >>
> > >>> Alright, I built the distribution locally with Maven on two different
> > >>> machines, and I can see that the following SWCs don't match: Jewel,
> > >>> MXRoyale, and MXRoyaleBase
> > >>>
> > >>> It affects both the JS and SWF versions of the SWCs.
> > >>>
> > >>> I'll see what I can do.
> > >>>
> > >>> --
> > >>> Josh Tynjala
> > >>> Bowler Hat LLC <https://bowlerhat.dev>
> > >>>
> > >>>
> > >>> On Mon, Apr 3, 2023 at 8:04 AM Josh Tynjala <
> joshtynjala@bowlerhat.dev
> > >
> > >>> wrote:
> > >>>
> > >>>> Yes, it's on by default.
> > >>>>
> > >>>> I guess that there must be some other reason why the builds don't
> > match
> > >>>> up. I just happened to notice this, in particular, was different
> > between
> > >>>> the Ant build and the Maven build.
> > >>>>
> > >>>> You may need to extract the .swc files and manually compare the
> > >>>> contents to see what is different.
> > >>>>
> > >>>> --
> > >>>> Josh Tynjala
> > >>>> Bowler Hat LLC <https://bowlerhat.dev>
> > >>>>
> > >>>>
> > >>>> On Sun, Apr 2, 2023 at 4:01 AM Yishay Weiss <yishayjobs@hotmail.com
> >
> > >>>> wrote:
> > >>>>
> > >>>>> Is that option on by default? I just tried building both on release
> > >>>>> machine and locally and am still getting the mismatch.
> > >>>>>
> > >>>>> <exec executable="${mvn}" dir="${artifactfolder}/sources"
> > >>>>> failonerror="true" >
> > >>>>>             <arg value="-X" />
> > >>>>>             <arg value="-P" />
> > >>>>>             <arg
> > >>>>>
> >
> value="royale-release,apache-release,_reproducible-build,with-distribution,with-examples,with-manualtests,option-with-swf"
> > >>>>> />
> > >>>>>             <arg value="clean" />
> > >>>>>             <arg value="install" />
> > >>>>>         </exec>
> > >>>>>
> > >>>>> Is how it gets built now locally. Intuitively debug info should not
> > be
> > >>>>> part of the release but I need to look into it further.
> > >>>>> ________________________________
> > >>>>> From: Josh Tynjala <jo...@bowlerhat.dev>
> > >>>>> Sent: Tuesday, March 28, 2023 6:17 PM
> > >>>>> To: dev@royale.apache.org <de...@royale.apache.org>
> > >>>>> Subject: Re: 0.9.10 Release
> > >>>>>
> > >>>>> Hey Yishay,
> > >>>>>
> > >>>>> I recently made a commit that adds the swf-debugfile-alias compiler
> > >>>>> option
> > >>>>> for SWC files built by Maven. This compiler option was being used
> by
> > >>>>> Ant
> > >>>>> already, but it never got added to the Maven build. And I think
> that
> > >>>>> binaries would fail comparison without it. This may be why Release
> > >>>>> Step 11
> > >>>>> was failing for you.
> > >>>>>
> > >>>>> Basically, swf-debugfile-alias ensures that the debugging
> information
> > >>>>> in
> > >>>>> the SWC doesn't include the local path to the .as/.mxml source
> files
> > >>>>> (starting with something like C:\Users\joshtynjala\ or
> > >>>>> /Users/CoolGuy19/).
> > >>>>> Instead, it sets a generic path that will always match among builds
> > >>>>> from
> > >>>>> different machines. Considering this was missing, it sure sounds
> > like a
> > >>>>> reason why binary comparison would fail.
> > >>>>>
> > >>>>> --
> > >>>>> Josh Tynjala
> > >>>>> Bowler Hat LLC <https://bowlerhat.dev>
> > >>>>>
> > >>>>>
> > >>>>> On Wed, Feb 22, 2023 at 10:38 AM Yishay Weiss <
> > yishayjobs@hotmail.com>
> > >>>>> wrote:
> > >>>>>
> > >>>>> > FYI I am put this on hold about 2 weeks ago after failing to
> debug
> > a
> > >>>>> > binary reproducibility issue in as-js repo.
> > >>>>> >
> > >>>>> > @Harbs<ma...@gmail.com>, can you see if the same
> > issue
> > >>>>> > exists for you?
> > >>>>> >
> > >>>>> > You can follow instructions [1] and tell me if step 2 succeeded
> or
> > >>>>> failed
> > >>>>> > for you.
> > >>>>> >
> > >>>>> > Thanks.
> > >>>>> >
> > >>>>> > [1]
> > >>>>> >
> > >>>>>
> >
> apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
> > >>>>> > <
> > >>>>> >
> > >>>>>
> >
> http://apacheroyale.francecentral.cloudapp.azure.com:8080/job/Royale_Release_Step_011/ws/Success-5.txt
> > >>>>> > >
> > >>>>> > ________________________________
> > >>>>> > From: Josh Tynjala <jo...@bowlerhat.dev>
> > >>>>> > Sent: Tuesday, January 17, 2023 10:08 PM
> > >>>>> > To: dev@royale.apache.org <de...@royale.apache.org>
> > >>>>> > Subject: Re: 0.9.10 Release
> > >>>>> >
> > >>>>> > Oops! I meant NO further changes. Sorry about that. You're good
> to
> > >>>>> go on my
> > >>>>> > end.
> > >>>>> >
> > >>>>> > --
> > >>>>> > Josh Tynjala
> > >>>>> > Bowler Hat LLC <https://bowlerhat.dev>
> > >>>>> >
> > >>>>> >
> > >>>>> > On Tue, Jan 17, 2023 at 11:32 AM Yishay Weiss <
> > >>>>> yishayjobs@hotmail.com>
> > >>>>> > wrote:
> > >>>>> >
> > >>>>> > > Thanks for the update, let me know when to pull the trigger.
> > >>>>> > >
> > >>>>> > > Get Outlook for Android<https://aka.ms/AAb9ysg>
> > >>>>> > > ________________________________
> > >>>>> > > From: Josh Tynjala <jo...@bowlerhat.dev>
> > >>>>> > > Sent: Tuesday, January 17, 2023 7:05:29 PM
> > >>>>> > > To: dev@royale.apache.org <de...@royale.apache.org>
> > >>>>> > > Subject: Re: 0.9.10 Release
> > >>>>> > >
> > >>>>> > > I've updated the release notes with my changes. I have further
> > >>>>> changes
> > >>>>> > > planned before the release.
> > >>>>> > >
> > >>>>> > > --
> > >>>>> > > Josh Tynjala
> > >>>>> > > Bowler Hat LLC <https://bowlerhat.dev>
> > >>>>> > >
> > >>>>> > >
> > >>>>> > > On Mon, Jan 16, 2023 at 12:40 AM Yishay Weiss <
> > >>>>> yishayjobs@hotmail.com>
> > >>>>> > > wrote:
> > >>>>> > >
> > >>>>> > > > Hi Guys,
> > >>>>> > > >
> > >>>>> > > > We’re starting a new release soon. As it’s been a while and I
> > >>>>> expect
> > >>>>> > some
> > >>>>> > > > issues I have agreed with Harbs to do this release. 0.9.11
> > >>>>> should be
> > >>>>> > > easier
> > >>>>> > > > if we don’t wait too long, so the goal is for a different
> > >>>>> volunteer to
> > >>>>> > do
> > >>>>> > > > the next one.
> > >>>>> > > >
> > >>>>> > > > If anybody wants to commit changes they are welcome to do so
> > >>>>> now, and
> > >>>>> > > > update the release notes.
> > >>>>> > > >
> > >>>>> > > > Please make sure the integration tests are working post
> > commits.
> > >>>>> > > >
> > >>>>> > > > Thanks,
> > >>>>> > > > Yishay
> > >>>>> > > >
> > >>>>> > >
> > >>>>> >
> > >>>>>
> > >>>>
> >
>