Thanks for the huge effort Chris,
I think it's being tough these days.
Let's get rest and see if tomorrow we can get over step 7 :)

Carlos


El mar., 24 mar. 2020 a las 21:37, Christofer Dutz (<
[email protected]>) escribió:

> HI Alex,
>
> I think we're getting closer ...
>
> The maven reproducible build mechanism and the release plugin all work
> with a standard time format:
>
> <project.build.outputTimestamp>2020-03-24T19:00:04Z</project.build.outputTimestamp></properties>
> The format is:
> yyyy-MM-dd'T'HH:mm:ss'Z'
> So it actually doesn't contain time-zone information.
>
> Also did I do a little more searching in the compiler code and sort of
> identical code was found in 9 places.
>
> I will try tomorrow if it helps setting the time-zone to UTC for every
> place where the getSWFMetadataDate and getSWFMetadataDateFormat are used in
> a SimpleDateFormat. I would assume if no timezone information is provided,
> the SimpleDateFormat assumes it's the VMs default one. Now I could imagine
> that if you call getTime this sort of is influenced by this.
>
> Now after a second full day of working on this I just want to go to bed ;-)
>
> Good night to you all,
>
> Chris
>
>
>
> Am 24.03.20, 20:57 schrieb "Alex Harui" <[email protected]>:
>
>     Ok, I think I have a better idea of what code you are referring to.
>
>     I can look into it with more detail later, but I recall thinking that
> there could be a problem during the weeks the world is not synced on
> "daylight savings time".
>
>     Over on the US west coast, I was typing in dates like: "02/25/20 14:51
> -0800".  The CI server is somewhere in the US, IIRC.  And IIRC, I had to
> use ""02/25/20 14:51 -0700" instead (or maybe the other way around) during
> the period of time the US was changing from "PST" to "PDT" or back.
>
>     So try adding or subtracting a zone from the date you are feeding into
> Jenkins and see what happens.
>
>     HTH,
>     -Alex
>
>
>     On 3/24/20, 12:34 PM, "Christofer Dutz" <[email protected]>
> wrote:
>
>         Hi Alex,
>
>         Well it seems as if the "mod" attribute in the catalog.xml is
> generated from the zipfile entry
>                     xmlWriter.writeAttribute(ATTR_MOD,
> String.valueOf(file.getLastModified()));
>
>         And in the SWCWriter there's this code that cuts off the timezone,
> you even wrote a comment on it
>
>                 if (metadataDate != null)
>                 {
>                     // TODO: Perhaps parsing without modification and then
> serializing with a default timezone is the more solid approach.
>                     // strip off timezone.  Zip format doesn't store
> timezone
>                     // and the goal is to have the same date and time
> regardless
>                     // of which timezone the build machine is using.
>                     int c = metadataDate.lastIndexOf(' ');
>                     if(c != -1) {
>                         metadataDate = metadataDate.substring(0, c);
>                     }
>                     c = metadataFormat.lastIndexOf(' ');
>                     if(c != -1) {
>                         metadataFormat = metadataFormat.substring(0, c);
>                     }
>                         try {
>                                 SimpleDateFormat sdf = new
> SimpleDateFormat(metadataFormat);
>                         sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
>                                 fileDate =
> sdf.parse(metadataDate).getTime();
>                         } catch (ParseException e) {
>                                 // TODO Auto-generated catch block
>                                 e.printStackTrace();
>                         } catch (IllegalArgumentException e1) {
>                                 e1.printStackTrace();
>                         }
>                 }
>
>         So in general it doesn’t matter what timezone is in the string
> input, it was cut off anyway.
>         I added the line:
>
>                         sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
>
>         But it seems I still have the same issue with the con
>
>         re-inspecting the code I noticed, it's probably just the timestamp
> used in the zip file metadata ... not that used in the catalog.xml.
>         Will have another look at why I'm having this 36 offset. ... I
> just did a little math and it's exactly one hour off ...
>
>         The difference of all tags is:
>         3600000 milliseconds, which is exactly one hour. So the timestamps
> on the CI server are exactly one hour ahead of the builds we do in Europe.
>
>         This is currently the last issue preventing us from finishing the
> steps for the typedefs.
>
>         Do you have any idea? ... Anything with the US being Summer-Time
> and us still on Winter-Time?
>
>         Perhaps you could try executing this command in the typedefs:
>
>         ant -f releasesteps.xml Release_Step_007 -Drelease.version=0.9.7
> -DskipTests=true
>
>         Would be interesting if this succeeds for you.
>
>         Well actually the library.swf in the swc seems to have a "net"
> Object in the locally built version and a "http" Object instead on the CI
> Server-Version.
>
>         Currently I'm trying to fix the timestamp version and address the
> other problem after that's solved.
>
>         Chris
>
>
>
>         Am 24.03.20, 20:08 schrieb "Alex Harui" <[email protected]
> >:
>
>             Good to see progress.
>
>             Re timestamps:  I’m not quite sure what you are running into.
>
>             The builds were taking a time that included a timezone.
> Here's some output from recent builds:
>
>                  [java] -metadata.date=02/25/20 14:51 +0000
>                  [java] -metadata.dateFormat=MM/dd/yy HH:mm Z
>
>             So I'm not sure how the timezone got lost on what you are
> seeing.  The RM was supposed to type in something like "02/25/20 14:51
> +0000".  The prompts on the Jenkins job were supposed to hint that.
>
>             HTH,
>             -Alex
>
>             On 3/24/20, 7:47 AM, "Carlos Rovira" <[email protected]>
> wrote:
>
>                 Hi Alex,
>                 I finally said Chris to try it myself, so going with that
> now :)
>
>                 El mar., 24 mar. 2020 a las 15:40, Christofer Dutz (<
>                 [email protected]>) escribió:
>
>                 > Hi Alex,
>                 >
>                 > I added a call to set a fixed timezone to the
> simpledateformat in the
>                 > SWCWriter ... could you please review this?
>                 >
>                 > Chris
>                 >
>                 >
>                 >
>                 > Am 24.03.20, 15:26 schrieb "Christofer Dutz" <
> [email protected]>:
>                 >
>                 >     Hi all,
>                 >
>                 >     so today we made progress ... not only did we fix
> the version skipping
>                 > we observed yesterday. For this the commands done
> manually in the 001a step
>                 > had to be changed.
>                 >
>                 >     Now we managed to get the compiler part
> reproducible, but not so much
>                 > the typedef part.
>                 >     We are observing that the same timestamp is passed
> in to the build
>                 > when building the release on the ci server and when
> building the release
>                 > locally. However the timestamps have a strange constant
> offset 36 in two
>                 > digits of the timestamp in the catalog.xml
>                 >
>                 >     1585054125000 on the CI server
>                 >     1585057725000 locally
>                 >
>                 >     I am assuming that perhaps there is time-zone
> information leaking into
>                 > the parsing of the date as we are using a date-format
> without time-zone
>                 > information.
>                 >
>                 >     I would assume that Alex, perhaps you could have a
> look at what's
>                 > happening in the SWCWriter constructor, where the
> parsing of the timestamp
>                 > is implemented.
>                 >
>                 >     Thanks,
>                 >
>                 >     Chris
>                 >
>                 >
>                 >     Am 24.03.20, 09:36 schrieb "Christofer Dutz" <
>                 > [email protected]>:
>                 >
>                 >         Hi Alex,
>                 >
>                 >         I had another look ... I think the version skips
> one is in step
>                 > 001a ...
>                 >         There the job checks out develop, applies the
> update to the new
>                 > version of the build tools and jburg types, but then
> this is pushed and
>                 > then again to the release branch (hereby overwriting the
> old
>                 > release-branch) ... I'll try out a way with cherry
> picking the change from
>                 > develop into the release branch. Unfortunately I haven't
> been able to find
>                 > where the text in the emails comes from ...
>                 >
>                 >         I'm talking about the order of the constants in
> the class
>                 > ProblemID. I forced that to be sorted now. That's why we
> have to re-release
>                 > the build tools.
>                 >
>                 >         Chris
>                 >
>                 >         Am 24.03.20, 08:14 schrieb "Alex Harui"
> <[email protected]
>                 > >:
>                 >
>                 >             Re: credentials:  Feel free to disable the
> credential store.
>                 >  I did not have to both login and go through 2fa to Git
> Push.  There is
>                 > some long password/token/credential/hash-like thing you
> get when you sign
>                 > up with Apache Git that seems to work when you use it as
> a password.
>                 >
>                 >             Re: the utils steps.  I just looked and it
> appears that
>                 > compiler-jburg-types and compiler-build-tools are no
> longer
>                 > child/submodules of the root pom.xml in
> royale-compiler.  So now I get how
>                 > why the development version won't get bumped up twice.
> I think the way it
>                 > was working may be that the updated dev version never
> got pushed to
>                 > develop.  If you are satisfied with that setup, that's
> fine with me.  So
>                 > then it might make more sense to get rid of 1a and
> create a whole new set
>                 > of steps for each of compiler-jburg-types and
> compiler-build-tools.  If I
>                 > understand correctly, those new steps would run mvn
> release:branch, mvn
>                 > release:prepare and mvn release:perform in
> compiler-jburg-types or
>                 > compiler-build-tools, stopping if there are interim
> pushes that need to be
>                 > done, then start their own vote emails by copying other
> CI steps.
>                 >
>                 >             I use a Mac and thought I got all binaries
> to match from the
>                 > .  I'm not sure what properties you are referring to.
>                 >
>                 >             I'm done for tonight.  Will catch up in my
> morning.
>                 >
>                 >             -Alex
>                 >
>                 >             On 3/23/20, 11:15 PM, "Christofer Dutz" <
>                 > [email protected]> wrote:
>                 >
>                 >                 Good morning all,
>                 >
>                 >                 well I didn't disable anythig as I
> didn't want to break
>                 > anything. So I thought before simply changing something
> I'd ask first.
>                 >                 So I would consider it a "bug" that it's
> there and when we
>                 > continue today, we'll try to find out and disable the
> thing.
>                 >                 However I would assume then the RM will
> not only have to
>                 > do his usual login but also the 2fa thing at every step
> too, correct?
>                 >
>                 >                 And, just a kindly meant question ...
> would it be possible
>                 > to reply at the top instead of inline? I sort of have
> missed several
>                 >                 Of your Inline comments in the past as
> at least in my mail
>                 > client it's hard to spot what's mine and what's not.
>                 >                 (I could start counting spaces)
>                 >
>                 >                 (I first missed this question of yours
> ... but discovered
>                 > it after counting spaces ;-) )
>                 >
>                 >                 Well to release the build tool with
> maven you would simply
>                 > do the:
>                 >                 mvn release:prepare
>                 >                 mvn release:perform
>                 >                 for each of them, then adjust the main
> pom and do the mvn
>                 > release:branch ... then prepare and perform after that.
>                 >
>                 >                 Currently also jburg types and the
> build-tools are sort of
>                 > released in parallel. With maven you would simply
> release only the module
>                 > that's needed to be released. In our case build-tools
> would have been
>                 > enough.
>                 >
>                 >                 Speaking of build-tools ... are you
> possibly using Windows
>                 > as OS on your system? Just asking because the
> build-tools seem to have
>                 > always generated a sorted set of properties on windows
> and an unsorted one
>                 > on Mac (Seems to be differences in the way the
> filesystem works) ... in
>                 > that case it would have been impossible to have a
> release manager not using
>                 > Java 8 on a Windows machine. (My changes recently never
> touched this)
>                 >
>                 >                 Chris
>                 >
>                 >
>                 >                 Am 23.03.20, 22:59 schrieb "Alex Harui"
>                 > <[email protected]>:
>                 >
>                 >
>                 >
>                 >                     On 3/23/20, 2:29 PM, "Christofer
> Dutz" <
>                 > [email protected]> wrote:
>                 >
>                 >                         Hi Alex,
>                 >
>                 >                         sorry for the confusion ,... I
> meant the 1a ...
>                 > the one if you build the utils too.
>                 >
>                 >                         And regarding the credentials:
> Something must have
>                 > changes as I have never seen that gui thingy pop up
> before and as soon as
>                 > you login, it saves them in the password manager thingy
> of windows.
>                 >
>                 >                     Did you try to disable the password
> manager?
>                 >
>                 >                         It is true that I took those two
> out of the main
>                 > maven reactor, but that's actually a good practice. In
> plc4x we setup a
>                 > dedicated git repo for releasing these build tools. I
> have never seen any
>                 > good coming from the old setup (I know ... I did it, but
> I learnt a lot).
>                 >
>                 >                     I am not opposed to moving those two
> projects to a
>                 > different repo.  It would require that we have a truly
> separate release
>                 > vote for them, so more work in that regard, and the Ant
> build would have to
>                 > be adjusted to download those jars.  I'm not sure now is
> the time to make
>                 > that change, but maybe.  Let's see what others think.
>                 >
>                 >                         Regarding the banches ... we did
> a git status
>                 > after step 001a (the utils step) and indeed it was done
> on develop. As the
>                 > maven release isn't doing any selecting and switching of
> branches it must
>                 > have always been this way. If not the utils release
> versions would only be
>                 > updated in the release branch and not develop. I
> couldn't find any cherry
>                 > picking of commits in the process.
>                 >
>                 >                         Well in the end the steps are
> way more complicated
>                 > than I would be doing on my local machine. Especially
> this tolling around
>                 > checking out branches and tagging and pushing is pretty
> complicated, in my
>                 > opinion. Especially as most the stuff is fully automated.
>                 >
>                 >                     The Maven Release plugin
> automatically pushes and
>                 > signs, so yes, the CI steps are more complicated because
> they have to
>                 > continue on, but if there is a better way to stop and
> continue, let us know
>                 > what that is.  But I was mainly addressing the
> branch/version issue for
>                 > those two "utils" projects.  What would be the correct
> set of Maven Release
>                 > commands to manage that locally without updating the
> develop version
>                 > twice?  Or maybe as you mention above, there really is
> no good way and a
>                 > separate repo is essentially the only way.
>                 >
>                 >                         I think we managed to get the
> steps 1-4 (including
>                 > the utils stuff) working again, while keeping the
> cleanup I did a while
>                 > ago.
>                 >
>                 >                         I hope tomorrow it'll be simper
> to adjust the
>                 > typedefs and the framework part.
>                 >
>                 >                         One thing we did notice however
> that even after
>                 > addressing the memory issues, the build sometimes simply
> stuck and the
>                 > build wouldn't continue.
>                 >                         In these cases simply killing
> the job (and the
>                 > processes on the CI server) didn't really help much ...
> we then had to
>                 > reboot the machine in order to continue. I think we
> rebooted the thing 5-6
>                 > times today.
>                 >
>                 >                     My experience was that the Jenkins
> slave would
>                 > occasionally disconnect and the job would fail right
> away.  Rebooting
>                 > didn’t help.  I didn't see it get stuck so unfortunately
> you are seeing
>                 > something new that I haven't seen.  Did you search the
> internet to see if
>                 > anyone else reported something similar with Jenkins?
>                 >
>                 >                         Signing off for today,
>                 >
>                 >                         Chris
>                 >
>                 >
>                 >                         Am 23.03.20, 21:38 schrieb "Alex
> Harui"
>                 > <[email protected]>:
>                 >
>                 >                             Re: credentials:  Does that
> mean that the git
>                 > config is set to use the credential manager?  If so,
> maybe that should be
>                 > turned off?  When I did the release, I had to type my
> password many times.
>                 > Not sure what Piotr's experience was.
>                 >
>                 >                             Re: Branches:    I don't
> remember what the
>                 > steps are.  I didn't think there was a 1b, I don't see
> it in my emails,
>                 > just a 1a that did both compiler-jburg-types and
> compiler-build-tools.
>                 > Assuming 1a and 1b now reference these two projects, the
> thing to keep in
>                 > mind is that they are optional projects and so 1a (and
> probably 1b) won't
>                 > be run for every release.  So, IMO, the branch should be
> made for the main
>                 > projects in royale-compiler.
>                 >
>                 >                             But if the changes you made
> effectively change
>                 > the way the poms are run (when there was a -utils
> profile for those two
>                 > projects, the main pom still got loaded and that may not
> be true now), then
>                 > the set of steps may need to test for existence of the
> branch or something
>                 > like that, not sure.
>                 >
>                 >                             In the end, the steps are
> just what you would
>                 > run on your local computer to fill the nexus staging
> repo, but broken into
>                 > discrete steps at each point Maven would normally push
> or sign.  If you
>                 > haven’t, it might be worth just running Maven locally to
> fill a staging
>                 > repo with and without the jburg-types and build-tools
> projects to see how
>                 > to control when Maven makes branches and updates
> versions.  Then come back
>                 > and break that down into steps on the CI server.
>                 >
>                 >                             HTH,
>                 >                             -Alex
>                 >
>                 >                             On 3/23/20, 12:30 PM,
> "Christofer Dutz" <
>                 > [email protected]> wrote:
>                 >
>                 >                                 Another thing we just
> discovered.
>                 >
>                 >                                 The current setup seems
> to mess up the
>                 > branches:
>                 >                                 - 001 creates the branch
> and updates
>                 > develop rel = 0.9.7-SNAPSHOT, develop = 0.9.8-SNAPSHOT
>                 >                                 - 001b updates DEVELOP
> and not the release
>                 > branch
>                 >                                 - 002 pushes develop to
> the release-branch
>                 > hereby bumping the release branch to the next version
> rel = 0.9.8-SNAPSHOT,
>                 > develop = 0.9.8-SNAPSHOT
>                 >
>                 >                                 If the 001b changes
> would have been done
>                 > in the release branch, develop would still be using the
> old version.
>                 >
>                 >                                 So I would propose to
> change the order of
>                 > 001 and 001b to "release" the build tools before
> branching.
>                 >
>                 >                                 And I would propose to
> fix 002 to work on
>                 > the right branch. As I could see in maven central you
> have been releasing
>                 > only even version number so I assume this problem exists
> for quite some
>                 > time now.
>                 >
>                 >                                 Chris
>                 >
>                 >                                 Am 23.03.20, 20:12
> schrieb "Carlos Rovira"
>                 > <[email protected]>:
>                 >
>                 >                                     Hi,
>                 >                                     we just saw that
> windows stores a
>                 > personal access token in Windows
>                 >                                     Crendetials, so the
> RM is responsible
>                 > to remove it when finish all the
>                 >                                     operations.
>                 >
>                 >
>                 >                                     El lun., 23 mar.
> 2020 a las 19:44,
>                 > Alex Harui (<[email protected]>)
>                 >                                     escribió:
>                 >
>                 >                                     >
>                 >                                     >
>                 >                                     > On 3/23/20, 11:32
> AM, "Christofer
>                 > Dutz" <[email protected]>
>                 >                                     > wrote:
>                 >                                     >
>                 >                                     >     Hi Alex,
>                 >                                     >
>                 >                                     >     I did check
> and I didn't
>                 > directly find any .git .ssh or whatsoever
>                 >                                     > directories ... do
> you have an Idea
>                 > where that would be saved on windows?
>                 >                                     >     The commits
> are authorized by
>                 > Carlos and it's his RDP connection,
>                 >                                     > that's why I'm
> asking if there is
>                 > any RDP magic going on. I didn't see him
>                 >                                     > entering anything
> anywhere and he
>                 > said he didn't do it before.
>                 >                                     >
>                 >                                     > I don't know for
> sure, but here's a
>                 > few links:
>                 >                                     >
>                 >                                     >
>                 >                                     >
>                 >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F46878457%2Fadding-git-credentials-on-windows&amp;data=02%7C01%7Caharui%40adobe.com%7C8f87803163ef4c03a9c808d7d02a6da1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637206752966088690&amp;sdata=oEh1Qw%2FT7ru8fAlZm7%2BBV9sR94hwN7Q2jTwXFdXYCLQ%3D&amp;reserved=0
>                 >                                     >
>                 >                                     >
>                 >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit-scm.com%2Fbook%2Fen%2Fv2%2FGit-Tools-Credential-Storage&amp;data=02%7C01%7Caharui%40adobe.com%7C8f87803163ef4c03a9c808d7d02a6da1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637206752966088690&amp;sdata=6dUMmS2JOhrYmqIiDbxrV0HUaRpzxVip9v4VDQtOJfM%3D&amp;reserved=0
>                 >                                     >
>                 >                                     > I'm wondering if
> Carlos can remember
>                 > if he did.anything like that back
>                 >                                     > when he wrote this:
>                 >                                     >
>                 >                                     >
>                 >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.apache.org%2Fthread.html%2F8ae38cea0c736418b432b2353f967161c4f8448261a3bdce390e8c46%2540%253Cdev.royale.apache.org%253E&amp;data=02%7C01%7Caharui%40adobe.com%7C8f87803163ef4c03a9c808d7d02a6da1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637206752966088690&amp;sdata=VmN%2FQQbDVvR2LRzBxwlAnwCS7pWH3IFKDXj5Je9w25Q%3D&amp;reserved=0
>                 >                                     >
>                 >                                     > As I replied back
> then, we shouldn't
>                 > have GPG signing on the CI Server,
>                 >                                     > and hopefully no
> other credentials
>                 > got added either.
>                 >                                     >
>                 >                                     > HTH,
>                 >                                     > -Alex
>                 >                                     >
>                 >                                     > PS: I'm
> purposefully not looking
>                 > myself so as not to accidentally boot
>                 >                                     > someone off the
> RDP connection.
>                 >                                     >
>                 >                                     >
>                 >                                     >
>                 >                                     >
>                 >                                     >
>                 >                                     >
>                 >                                     >
>                 >
>                 >                                     --
>                 >                                     Carlos Rovira
>                 >
>                 >
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8f87803163ef4c03a9c808d7d02a6da1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637206752966098683&amp;sdata=HJm%2FFSmKHKlD435iNQYouiMKu4wsv26j%2FCIP%2BjT6SIQ%3D&amp;reserved=0
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>                 >
>
>                 --
>                 Carlos Rovira
>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8f87803163ef4c03a9c808d7d02a6da1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637206752966098683&amp;sdata=HJm%2FFSmKHKlD435iNQYouiMKu4wsv26j%2FCIP%2BjT6SIQ%3D&amp;reserved=0
>
>
>
>
>
>
>
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to