Hi Harbs,

sounds good :)

As well, I expect I can do 0.9.9 in June from my local machine with the
process we already exposed too :)

Thanks

Carlos


El jue., 2 abr. 2020 a las 15:50, Harbs (<harbs.li...@gmail.com>) escribió:

> I spent over an hour with Alex on the Zoom last night trying to understand
> all the different technical points.
>
> One point which became clear to me last night is that Ant and Maven are
> distributed differently so there are points of failure that one has which
> the other doesn’t.
>
> I also want to stress that Alex is actually a fan of Maven.
>
> We all want the Maven release to be easier, but somehow this is being
> conflated with bashing Ant.
>
> As far as I’m concerned, the steps forward are:
>
> 1. Yishay should work on releasing 0.9.7.
> 2. He will hopefully be supported by Alex, Chris and Carlos to make it as
> smooth as possible.
> 3. When he’s done, I plan on sitting down with him to discuss his
> experience.
> 4. I plan on working on releasing 0.9.8 sometime in May.
> 5. While I’m working on 0.9.8 I expect to use Yishay’s experiences as well
> as my own to try and understand as much about the process as I can (Ant,
> Maven and NPM too).
> 6. I hope to work with anyone who wants to help to improve the process as
> much as I can.
>
> Sounds OK?
>
> Harbs
>
> > On Apr 2, 2020, at 4:38 PM, Christofer Dutz <christofer.d...@c-ware.de>
> wrote:
> >
> > Hi folks,
> >
> > I would say we have coverage for both maven ant equally as we're
> building the same code.
> >
> > However we are missing the important assertions. It's not that the Ant
> build is running some tests Maven isn't.
> > It's just that the settings for Ant seem to be different than for Maven
> and the Ant ones happen to work.
> >
> > Ideally there would be real tests that test the output of both to see if
> it works in both cases.
> >
> > Chris
> >
> >
> >
> > Am 02.04.20, 15:15 schrieb "Harbs" <harbs.li...@gmail.com>:
> >
> >    Adding more coverage for Maven is good.
> >
> >    Removing coverage for Ant is not.
> >
> >    Do you agree?
> >
> >> On Apr 2, 2020, at 4:07 PM, Carlos Rovira <carlosrov...@apache.org>
> wrote:
> >>
> >> Hi Harbs,
> >>
> >> I think what we're trying to say is that until now we released with
> Maven
> >> and Ant, and that was hiding a flaw in Maven (SVG example). So that
> means
> >> what we were trying to cover was not covered clearly, so the premise is
> not
> >> right.
> >>
> >>
> >>
> >> El jue., 2 abr. 2020 a las 14:56, Harbs (<harbs.li...@gmail.com>)
> escribió:
> >>
> >>> No one is arguing that we shouldn’t add more tests.
> >>>
> >>> Please let’s not make it seem like there’s a disagreement about that.
> >>>
> >>>> On Apr 2, 2020, at 10:46 AM, Carlos Rovira <carlosrov...@apache.org>
> >>> wrote:
> >>>>
> >>>> Hi Alex,
> >>>>
> >>>> first, many thanks for the detailed email. I'll comment on this later
> as
> >>> I
> >>>> have more time.
> >>>>
> >>>> For now, to add up a recent example on what Chris commented: If you
> all
> >>>> remember a week ago I was trying to use SVG Images in a blog example
> that
> >>>> was published 2 days ago. Nobody tried SVG Images before building with
> >>>> maven, I know that since maven was not properly configured and using
> that
> >>>> component from Maven was failing with an RTE. Probably we have more
> >>> things
> >>>> not working the same way when build from Maven and Ant, and that's
> >>>> something that will need people using that code paths in test
> >>> applications
> >>>> (or in their own apps) to see if things works properly.
> >>>>
> >>>> I was recently introduced to "examples-integrationtest" by Chris,
> that I
> >>>> plan to use soon as I can. I think is a great idea, since you get a
> >>> Firefox
> >>>> running test interface of the real use of some concrete royale code. I
> >>>> think passed until now unnoticed by all of us, and seems a powerful
> tool.
> >>>> There's already an example about FlexStore with some basic assertions.
> >>>>
> >>>> Again, thanks, and will comment on the rest later
> >>>>
> >>>> Carlos
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> El jue., 2 abr. 2020 a las 9:20, Christofer Dutz (<
> >>> christofer.d...@c-ware.de>)
> >>>> escribió:
> >>>>
> >>>>> Hi Alex,
> >>>>>
> >>>>> just a point you are bringing up: "Code coverage".
> >>>>>
> >>>>> I strongly dislike the idea of "asjs" effectively being the test for
> the
> >>>>> compiler. The reasoning behind this is: yes you do get more code
> >>> covered,
> >>>>> but only the happy-path (ideally) and even if things go wrong, the
> end
> >>>>> results aren't tested. Did add a module to asjs years ago
> >>>>> ("examples-integrationtest") that deployed the examples in a tomcat
> >>> server
> >>>>> then opens a Firefox browser and clicks through 2 of the examples (I
> >>> added
> >>>>> two dummy tests as an example, but seems no one touched this after
> me).
> >>> I
> >>>>> did this because I remember us working on asjs for weeks without
> anyone
> >>>>> noticing the compiler wasn't producing runnable code ... same with
> the
> >>>>> little unit-tests that are still run for every example, that simply
> >>> check
> >>>>> if an output is generated, because we had a prolonged period of time
> >>> where
> >>>>> we were all working on different parts, but for quite some time the
> >>>>> application compilation just didn't output anything and no one
> noticed.
> >>>>>
> >>>>> So coverage is nothing without assertions (my opinion) ... ok ...
> it's
> >>>>> slightly better than no coverage, but not much, in my opinion.
> >>>>>
> >>>>> I think in parallel to this release discussions I have seen numerous
> >>>>> threads about someone doing something that broke something for
> someone
> >>>>> else. This could be addressed by increasing coverage by providing
> >>> explicit
> >>>>> tests.
> >>>>>
> >>>>> Coming back to the releases:
> >>>>> I have no objections, if you do a "release" locally and automate the
> >>>>> validation on the CI server (Which effectively would be your proposal
> >>> to do
> >>>>> the first 12 steps on local hardware and the 13th on the CI server).
> I
> >>> even
> >>>>> think that's a good idea ... There could be one step for building a
> >>> release
> >>>>> from a given "git tag" for every build system and generic means to
> >>> compare
> >>>>> tar.gz and zips produced by any build system with that of another
> >>> (ideally
> >>>>> with better output than just a plain "true/false"). This would even
> >>> help to
> >>>>> iron out the last potentially existing bumps out of the Maven
> >>> distribution.
> >>>>>
> >>>>> Chris
> >>>>>
> >>>>>
> >>>>>
> >>>>> Am 02.04.20, 07:59 schrieb "Alex Harui" <aha...@adobe.com.INVALID>:
> >>>>>
> >>>>>  Hi,
> >>>>>
> >>>>>  This is my attempt to explain what goes into a release in hopes that
> >>>>> we can understand and agree on what our release process is.  It
> became
> >>>>> apparent in my reading of the wiki page with the new Maven steps and
> in
> >>>>> talking with Harbs today that there are still many misunderstandings
> >>> about
> >>>>> what we do to create a release.  I don't generally like writing
> >>>>> instructions in English because it is easy to be ambiguous.  All of
> the
> >>>>> steps that we use to create releases had been captured in Ant scripts
> >>> in a
> >>>>> much more explicit way, IMO, but I took the time to write them down
> in
> >>>>> English here:
> >>>>>
> >>>
> https://github.com/apache/royale-asjs/wiki/Task-List-For-Royale-Releases
> >>>>>
> >>>>>  I did this quickly by scanning the CI steps, the new Maven steps and
> >>>>> the Ant scripts used in prior releases so there could certainly be
> >>> mistakes
> >>>>> and missed steps.  If I did my math right, the RM for 0.9.7 will
> have to
> >>>>> complete over 100 tasks (essentially, typing a command-line 100
> times).
> >>>>> Future RMs, when we don't have to release build-tools, will have
> about
> >>> 92
> >>>>> steps.  And I did not include voter verification checks the RM should
> >>> run
> >>>>> before opening a vote (verifying that the artifacts download and
> match
> >>>>> their checksums, etc).  As an RM, I run a bunch of tests on the RC
> >>> before
> >>>>> sending out the vote.  Maybe we should add those to the task list.
> >>>>>
> >>>>>  I think there has been confusion about the use of Ant in the release
> >>>>> process.  Because I was the RM for the first set of FlexJS/Royale
> >>> releases,
> >>>>> and I'm a lazy person who hates typing at the command line, I created
> >>> Ant
> >>>>> scripts to execute these 100 steps.  But I agree that it is not a
> >>>>> requirement that other RMs must use the Ant scripts for these
> >>> commands.  If
> >>>>> you are the RM and like typing, go ahead.
> >>>>>
> >>>>>  Then we found out that other people couldn't get through this task
> >>>>> list.  I think the 3 people who tried were having trouble with Maven
> >>>>> uploads and downloads.  So what I did was put the first 40 steps or
> so
> >>> into
> >>>>> Jenkins jobs.  And by doing that, Piotr was able to produce our last
> >>>>> release.  And that also saves on manually typing commands.  But
> again,
> >>>>> going forward, the RM gets to choose how they want to execute these
> >>> steps.
> >>>>>
> >>>>>  If you scan the set of steps, you'll see that "ant" is only in there
> >>>>> once.  I believe the recent threads have been about this single
> command
> >>> out
> >>>>> of the 100+ commands.  This is why this has been so frustrating to
> me.
> >>> I
> >>>>> believe there is a solid technical reason for that one command:  it
> >>> proves
> >>>>> that the build.xml files in the source packages can build the .tar.gz
> >>> that
> >>>>> are useful to NPM and IDE users who use Ant and want to test a
> change.
> >>>>>
> >>>>>  I think of it as code-coverage.  If we had code-coverage tools, we
> >>>>> would ask that the RM complete as much of the automated code-coverage
> >>>>> testing as possible before posting the release for a vote.  That one
> >>>>> command increases our code coverage by running the build.xml files.
> We
> >>>>> should be always working to increase automated code coverage in the
> RC.
> >>>>> Certainly for me as RM, I will gladly watch TV as the automated tests
> >>> run
> >>>>> because a failed RC means going back through many of the first 25
> >>> commands
> >>>>> again and wastes other people's time.  Each RC is more emails to read
> >>> and
> >>>>> more time from the voters and testers.
> >>>>>
> >>>>>  If there are other ways for the RM to get the same or better code
> >>>>> coverage on the build.xml files before posting the RC, we can discuss
> >>> those
> >>>>> options.
> >>>>>
> >>>>>  I am hopeful we can all agree on these simple principles:  Strive
> for
> >>>>> better code coverage and fewer failed RCs.  Royale's main purpose is
> to
> >>>>> save other people time.  Let's do that in creating releases too.
> >>>>>
> >>>>>  One issue that was brought up recently was whether it is a good
> >>>>> decision to have the RM test all of the build platforms we support.
> >>>>> Suppose we add some other build system support or more in the future?
> >>>>> Again, the code coverage principle applies here, but also, I would
> like
> >>> us
> >>>>> to retain feature parity, and I also hope for as few RCs and votes as
> >>>>> possible.  So instead of having separate votes/features/release-dates
> >>> for
> >>>>> the Maven artifacts vs the Ant artifacts vs the SomeFutureBuildTech
> >>>>> artifacts, I think we should have one vote and keep them all in sync.
> >>> If
> >>>>> we do ever get around to monthly or bi-monthly releases, I think
> >>> separate
> >>>>> build platform releases would be too much work.
> >>>>>
> >>>>>  But consider this thought I just had today:  the RM doesn't really
> >>>>> have to choose to do all 100 commands on a local machine or with Ant
> >>>>> scripts or do the first 40 via CI.  The RM can actually pick and
> choose
> >>>>> commands to run on the CI server.  The CI Jenkins jobs are not a
> >>>>> separate/alternative release process, they are just another way of
> >>>>> executing the first 40 steps.  Using CI jobs actually requires
> >>> additional
> >>>>> command-line cut-and-paste to push commits on the CI server and to
> sign
> >>> and
> >>>>> validate binaries locally, but that's the trade-off of not having to
> >>>>> configure your machine to successfully run all of the automated tests
> >>> and
> >>>>> build systems, and being able to run a command by filling in the
> version
> >>>>> number and rc number and hitting the "ok" button instead of making
> sure
> >>> you
> >>>>> got the whole command typed in correctly.
> >>>>>
> >>>>>  So, an RM can run the first 25 steps locally, then go the CI server
> >>>>> and run what is now Jenkins Job "Royale_Release_Step_013" (no need to
> >>> run
> >>>>> the first 12) and it will run tasks 26 through 32, and if it is
> >>> successful,
> >>>>> then the RM has proven code coverage of the build.xml files.  (If the
> >>>>> resulting tar.gz and zips are not posted, then the RM should verify
> that
> >>>>> they match the ones from Maven distribution).  I would encourage RMs
> to
> >>>>> also use the CI jobs that generate the emails to make sure the
> subject
> >>> and
> >>>>> content is correct and contains the usual instructions so we have
> >>>>> consistency.  Maybe someday there will be CI jobs to do the last 60+
> >>> steps
> >>>>> if that helps.  We could add a Jenkins job that runs an Ant build on
> RC
> >>>>> artifacts on dist.a.o as well.
> >>>>>
> >>>>>  I would like you all to help maintain the list of 100 steps and
> other
> >>>>> documents related to the release process, and improve the CI jobs and
> >>> Ant
> >>>>> steps if it helps you be a more efficient RM.  I am hopeful that now
> >>> that I
> >>>>> have hopefully explained our release process better, that we can see
> >>> that
> >>>>> these 100+ steps just have to be done in some way.  The RM can figure
> >>> out
> >>>>> what way works best for them, but they must get through all of them.
> >>>>>
> >>>>>  Thanks,
> >>>>>  -Alex
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>> --
> >>>> Carlos Rovira
> >>>> http://about.me/carlosrovira
> >>>
> >>>
> >>
> >> --
> >> Carlos Rovira
> >> http://about.me/carlosrovira
> >
> >
> >
>
>

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

Reply via email to