Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-26 Thread Johan Vos
On Sat, 24 Oct 2020 14:49:37 GMT, Kevin Rushforth  wrote:

>> This is a proposed fix for 
>> [JDK-8254691](https://bugs.openjdk.java.net/browse/JDK-8254691) to enable 
>> GitHub actions for the jfx repo. It is similar in purpose to what was done 
>> for the jdk repo.
>> 
>> Once this is integrated, and subsequently merged into your personal fork, a 
>> GitHub Actions workflow will run on every push to any branch in your 
>> personal fork except a production branch (so that syncing the upstream 
>> `master` or `jfx*` branch won't cause a build) or any branch whose name that 
>> starts with `WIP`.
>> 
>> The workflow does a build and (headless) test run on all three platforms: 
>> Linux, macOS, and Windows. The build is done without building the native 
>> media or WebKit libraries. Web tests are excluded.
>> 
>> Here is the job that resulted from the most recent push to the 
>> `8254691-github-actions` branch in my personal fork:
>> 
>> https://github.com/kevinrushforth/jfx/actions/runs/329355746
>> 
>> The workflow checks out the sources for the branch, downloads the boot JDK, 
>> installs the needed software packages, and then runs two build steps, 
>> `gradlew all` followed by `gradlew test -x :web:test`.
>> 
>> The Skara tooling will process the results of the GitHub actions run, and 
>> show them in the **Testing** section of a pull request, as you can see below.
>> 
>> Follow-on work:
>> 
>> 1. Get BOOT JDK parameters from `build.properties`. Currently the location 
>> of the bootJDK is hardcoded in the 
>> [`submit.yml`](https://github.com/kevinrushforth/jfx/blob/8254691-github-actions/.github/workflows/submit.yml)
>>  file. This should be obtained from build.properties; we might need to add a 
>> couple more properties.
>> 
>> 2. Check the shasum of the downloaded bootJDK and enable caching of the JDK 
>> (in order to save download time). This requires step 1 to be done first.
>> 
>> 3. Locate the Visual Studio compiler on Windows. The location and version of 
>> the Microsoft Visual Studio 2019 compiler is hard-coded which will break if 
>> and when the GitHub build farm updates their Windows system. This will 
>> require making our build itself a little smarter, possibly using `vswhere`.
>
> @rwestberg I was pleasantly surprised to see the Skara bot add this:
> 
>>  | Linux x64 | Windows x64 | macOS x64
>> -- | -- | -- | --
>> Build / test | ✔️ (1/1 passed) | ✔️ (1/1 passed) | ✔️ (1/1 passed)
> 
> I was going to ask you what I needed to do so that you could generate this. I 
> guess the short answer is that what I've already done is sufficient. Thanks!

> @rwestberg I was pleasantly surprised to see the Skara bot add this:
> 
> > Linux x64
> > Windows x64
> > macOS x64
> > 
> > 
> > 
> > 
> > Build / test
> > heavy_check_mark (1/1 passed)
> > heavy_check_mark (1/1 passed)
> > heavy_check_mark (1/1 passed)
> 
> I was going to ask you what I needed to do so that you could generate this. I 
> guess the short answer is that what I've already done is sufficient. Thanks!

I noticed this in the openjdk/mobile repository as well, and that looks great. 
In that repository, there seems to be a different configuration, as there is a 
line for "build" and a line for "test/tier 1" ( e.g. 
https://github.com/openjdk/mobile/pull/10 )

I wonder how configurable this is?

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-26 Thread Kevin Rushforth
On Sat, 24 Oct 2020 16:28:28 GMT, Kevin Rushforth  wrote:

>> This is a proposed fix for 
>> [JDK-8254691](https://bugs.openjdk.java.net/browse/JDK-8254691) to enable 
>> GitHub actions for the jfx repo. It is similar in purpose to what was done 
>> for the jdk repo.
>> 
>> Once this is integrated, and subsequently merged into your personal fork, a 
>> GitHub Actions workflow will run on every push to any branch in your 
>> personal fork except a production branch (so that syncing the upstream 
>> `master` or `jfx*` branch won't cause a build) or any branch whose name that 
>> starts with `WIP`.
>> 
>> The workflow does a build and (headless) test run on all three platforms: 
>> Linux, macOS, and Windows. The build is done without building the native 
>> media or WebKit libraries. Web tests are excluded.
>> 
>> Here is the job that resulted from the most recent push to the 
>> `8254691-github-actions` branch in my personal fork:
>> 
>> https://github.com/kevinrushforth/jfx/actions/runs/329355746
>> 
>> The workflow checks out the sources for the branch, downloads the boot JDK, 
>> installs the needed software packages, and then runs two build steps, 
>> `gradlew all` followed by `gradlew test -x :web:test`.
>> 
>> The Skara tooling will process the results of the GitHub actions run, and 
>> show them in the **Testing** section of a pull request, as you can see below.
>> 
>> Follow-on work:
>> 
>> 1. Get BOOT JDK parameters from `build.properties`. Currently the location 
>> of the bootJDK is hardcoded in the 
>> [`submit.yml`](https://github.com/kevinrushforth/jfx/blob/8254691-github-actions/.github/workflows/submit.yml)
>>  file. This should be obtained from build.properties; we might need to add a 
>> couple more properties.
>> 
>> 2. Check the shasum of the downloaded bootJDK and enable caching of the JDK 
>> (in order to save download time). This requires step 1 to be done first.
>> 
>> 3. Locate the Visual Studio compiler on Windows. The location and version of 
>> the Microsoft Visual Studio 2019 compiler is hard-coded which will break if 
>> and when the GitHub build farm updates their Windows system. This will 
>> require making our build itself a little smarter, possibly using `vswhere`.
>
> .github/workflows/submit.yml line 31:
> 
>> 29:   push:
>> 30: branches-ignore:
>> 31:   - master
> 
> Add `jfx[0-9]*` to this. Also consider adding `WIP.*`, `scratch.*`, and 
> similar.

I propose to ignore the following branches:

branches-ignore:
  - master
  - main
  - 'jfx[0-9]+'
  - 'WIP*'

The thinking behind this is that you will still get build / test by default, 
but if you are are working on something experimental and don't want the noise 
of an automatic build / test on every push to your branch, you can prefix your 
branch name with "WIP".

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-26 Thread Robin Westberg
On Sat, 24 Oct 2020 18:26:29 GMT, Kevin Rushforth  wrote:

>>> @rwestberg I was pleasantly surprised to see the Skara bot add this:
>>> 
>>> > Linux x64
>>> > Windows x64
>>> > macOS x64
>>> > 
>>> > 
>>> > 
>>> > 
>>> > Build / test
>>> > heavy_check_mark (1/1 passed)
>>> > heavy_check_mark (1/1 passed)
>>> > heavy_check_mark (1/1 passed)
>>> 
>>> I was going to ask you what I needed to do so that you could generate this. 
>>> I guess the short answer is that what I've already done is sufficient. 
>>> Thanks!
>> 
>> I noticed this in the openjdk/mobile repository as well, and that looks 
>> great. In that repository, there seems to be a different configuration, as 
>> there is a line for "build" and a line for "test/tier 1" ( e.g. 
>> https://github.com/openjdk/mobile/pull/10 )
>> 
>> I wonder how configurable this is?
>
> The jdk workflow is split into a build job and multiple test jobs (since it 
> takes so long they need the parallelism when running the tests). It's more 
> complicated that way, since you have to feed the results of the build job 
> into all of the test jobs, and there is duplication of some of the 
> configuration steps. I don't know that it would buy us much, so I wasn't 
> planning to split the jobs -- at leat not initially.
> 
> The build and test are done in separate steps within the job so it's easy to 
> see which one failed. Maybe Robin can comment further as to whether we could 
> do something a bit more clever.

> I noticed this in the openjdk/mobile repository as well, and that looks 
> great. In that repository, there seems to be a different configuration, as 
> there is a line for "build" and a line for "test/tier 1" ( e.g. 
> [openjdk/mobile#10](https://github.com/openjdk/mobile/pull/10) )
> 
> I wonder how configurable this is?

The output is not very configurable at all. :) You can see 
https://github.com/openjdk/skara/blob/bd4cc7e9a6ff7b04c6dc650a969638d5c1471031/bots/pr/src/main/java/org/openjdk/skara/bots/pr/TestResults.java#L42
 for details. But it should support additional tiers at least if any were added 
in the future.

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-26 Thread Kevin Rushforth
On Sat, 24 Oct 2020 14:41:08 GMT, Kevin Rushforth  wrote:

> This is a proposed fix for 
> [JDK-8254691](https://bugs.openjdk.java.net/browse/JDK-8254691) to enable 
> GitHub actions for the jfx repo. It is similar in purpose to what was done 
> for the jdk repo.
> 
> Once this is integrated, and subsequently merged into your personal fork, a 
> GitHub Actions workflow will run on every push to any branch in your personal 
> fork except a production branch (so that syncing the upstream `master` or 
> `jfx*` branch won't cause a build) or any branch whose name that starts with 
> `WIP`.
> 
> The workflow does a build and (headless) test run on all three platforms: 
> Linux, macOS, and Windows. The build is done without building the native 
> media or WebKit libraries. Web tests are excluded.
> 
> Here is the job that resulted from the most recent push to the 
> `8254691-github-actions` branch in my personal fork:
> 
> https://github.com/kevinrushforth/jfx/actions/runs/329355746
> 
> The workflow checks out the sources for the branch, downloads the boot JDK, 
> installs the needed software packages, and then runs two build steps, 
> `gradlew all` followed by `gradlew test -x :web:test`.
> 
> The Skara tooling will process the results of the GitHub actions run, and 
> show them in the **Testing** section of a pull request, as you can see below.
> 
> Follow-on work:
> 
> 1. Get BOOT JDK parameters from `build.properties`. Currently the location of 
> the bootJDK is hardcoded in the 
> [`submit.yml`](https://github.com/kevinrushforth/jfx/blob/8254691-github-actions/.github/workflows/submit.yml)
>  file. This should be obtained from build.properties; we might need to add a 
> couple more properties.
> 
> 2. Check the shasum of the downloaded bootJDK and enable caching of the JDK 
> (in order to save download time). This requires step 1 to be done first.
> 
> 3. Locate the Visual Studio compiler on Windows. The location and version of 
> the Microsoft Visual Studio 2019 compiler is hard-coded which will break if 
> and when the GitHub build farm updates their Windows system. This will 
> require making our build itself a little smarter, possibly using `vswhere`.

@rwestberg I was pleasantly surprised to see the Skara bot add this:

>  | Linux x64 | Windows x64 | macOS x64
> -- | -- | -- | --
> Build / test | ✔️ (1/1 passed) | ✔️ (1/1 passed) | ✔️ (1/1 passed)

I was going to ask you what I needed to do so that you could generate this. I 
guess the short answer is that what I've already done is sufficient. Thanks!

.github/workflows/submit.yml line 31:

> 29:   push:
> 30: branches-ignore:
> 31:   - master

Add `jfx[0-9]*` to this. Also consider adding `WIP.*`, `scratch.*`, and similar.

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-26 Thread Kevin Rushforth
On Sat, 24 Oct 2020 16:56:46 GMT, Johan Vos  wrote:

>> @rwestberg I was pleasantly surprised to see the Skara bot add this:
>> 
>>>  | Linux x64 | Windows x64 | macOS x64
>>> -- | -- | -- | --
>>> Build / test | ✔️ (1/1 passed) | ✔️ (1/1 passed) | ✔️ (1/1 passed)
>> 
>> I was going to ask you what I needed to do so that you could generate this. 
>> I guess the short answer is that what I've already done is sufficient. 
>> Thanks!
>
>> @rwestberg I was pleasantly surprised to see the Skara bot add this:
>> 
>> > Linux x64
>> > Windows x64
>> > macOS x64
>> > 
>> > 
>> > 
>> > 
>> > Build / test
>> > heavy_check_mark (1/1 passed)
>> > heavy_check_mark (1/1 passed)
>> > heavy_check_mark (1/1 passed)
>> 
>> I was going to ask you what I needed to do so that you could generate this. 
>> I guess the short answer is that what I've already done is sufficient. 
>> Thanks!
> 
> I noticed this in the openjdk/mobile repository as well, and that looks 
> great. In that repository, there seems to be a different configuration, as 
> there is a line for "build" and a line for "test/tier 1" ( e.g. 
> https://github.com/openjdk/mobile/pull/10 )
> 
> I wonder how configurable this is?

The jdk workflow is split into a build job and multiple test jobs (since it 
takes so long they need the parallelism when running the tests). It's more 
complicated that way, since you have to feed the results of the build job into 
all of the test jobs, and there is duplication of some of the configuration 
steps. I don't know that it would buy us much, so I wasn't planning to split 
the jobs -- at leat not initially.

The build and test are done in separate steps within the job so it's easy to 
see which one failed. Maybe Robin can comment further as to whether we could do 
something a bit more clever.

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-27 Thread Kevin Rushforth
On Mon, 26 Oct 2020 08:29:14 GMT, Robin Westberg  wrote:

>> The jdk workflow is split into a build job and multiple test jobs (since it 
>> takes so long they need the parallelism when running the tests). It's more 
>> complicated that way, since you have to feed the results of the build job 
>> into all of the test jobs, and there is duplication of some of the 
>> configuration steps. I don't know that it would buy us much, so I wasn't 
>> planning to split the jobs -- at leat not initially.
>> 
>> The build and test are done in separate steps within the job so it's easy to 
>> see which one failed. Maybe Robin can comment further as to whether we could 
>> do something a bit more clever.
>
>> I noticed this in the openjdk/mobile repository as well, and that looks 
>> great. In that repository, there seems to be a different configuration, as 
>> there is a line for "build" and a line for "test/tier 1" ( e.g. 
>> [openjdk/mobile#10](https://github.com/openjdk/mobile/pull/10) )
>> 
>> I wonder how configurable this is?
> 
> The output is not very configurable at all. :) You can see 
> https://github.com/openjdk/skara/blob/bd4cc7e9a6ff7b04c6dc650a969638d5c1471031/bots/pr/src/main/java/org/openjdk/skara/bots/pr/TestResults.java#L42
>  for details. But it should support additional tiers at least if any were 
> added in the future.

### Note to reviewers:

If you want to test this yourself you can pull the PR branch into a branch in 
your local repo and push it to your personal fork. Something like the following 
should work for you, assuming that you are in your local repo with `origin` 
pointing to your personal fork:

git fetch https://github.com/openjdk/jfx.git pull/338/head:pr-338
git push -u origin pr-338

Then you will be able to see the GitHub action workflow and track its progress 
by clicking on the "Actions" tab on your personal fork repo page.

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-27 Thread Kevin Rushforth
On Tue, 27 Oct 2020 17:39:08 GMT, Kevin Rushforth  wrote:

>>> I noticed this in the openjdk/mobile repository as well, and that looks 
>>> great. In that repository, there seems to be a different configuration, as 
>>> there is a line for "build" and a line for "test/tier 1" ( e.g. 
>>> [openjdk/mobile#10](https://github.com/openjdk/mobile/pull/10) )
>>> 
>>> I wonder how configurable this is?
>> 
>> The output is not very configurable at all. :) You can see 
>> https://github.com/openjdk/skara/blob/bd4cc7e9a6ff7b04c6dc650a969638d5c1471031/bots/pr/src/main/java/org/openjdk/skara/bots/pr/TestResults.java#L42
>>  for details. But it should support additional tiers at least if any were 
>> added in the future.
>
> ### Note to reviewers:
> 
> If you want to test this yourself you can pull the PR branch into a branch in 
> your local repo and push it to your personal fork. Something like the 
> following should work for you, assuming that you are in your local repo with 
> `origin` pointing to your personal fork:
> 
> git fetch https://github.com/openjdk/jfx.git pull/338/head:pr-338
> git push -u origin pr-338
> 
> Then you will be able to see the GitHub action workflow and track its 
> progress by clicking on the "Actions" tab on your personal fork repo page.

See PR #339 for an example (using an intentionally injected failure) of what a 
failed build or test will look like.

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-28 Thread Kevin Rushforth
On Tue, 27 Oct 2020 19:02:40 GMT, Kevin Rushforth  wrote:

>> ### Note to reviewers:
>> 
>> If you want to test this yourself you can pull the PR branch into a branch 
>> in your local repo and push it to your personal fork. Something like the 
>> following should work for you, assuming that you are in your local repo with 
>> `origin` pointing to your personal fork:
>> 
>> git fetch https://github.com/openjdk/jfx.git pull/338/head:pr-338
>> git push -u origin pr-338
>> 
>> Then you will be able to see the GitHub action workflow and track its 
>> progress by clicking on the "Actions" tab on your personal fork repo page.
>
> See PR #339 for an example (using an intentionally injected failure) of what 
> a failed build or test will look like.

I merged `master` into my local branch so it would run the tests again on an 
up-to-date repo.

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo [v2]

2020-10-28 Thread Kevin Rushforth
> This is a proposed fix for 
> [JDK-8254691](https://bugs.openjdk.java.net/browse/JDK-8254691) to enable 
> GitHub actions for the jfx repo. It is similar in purpose to what was done 
> for the jdk repo.
> 
> Once this is integrated, and subsequently merged into your personal fork, a 
> GitHub Actions workflow will run on every push to any branch in your personal 
> fork except a production branch (so that syncing the upstream `master` or 
> `jfx*` branch won't cause a build) or any branch whose name that starts with 
> `WIP`.
> 
> The workflow does a build and (headless) test run on all three platforms: 
> Linux, macOS, and Windows. The build is done without building the native 
> media or WebKit libraries. Web tests are excluded.
> 
> Here is the job that resulted from the most recent push to the 
> `8254691-github-actions` branch in my personal fork:
> 
> https://github.com/kevinrushforth/jfx/actions/runs/329355746
> 
> The workflow checks out the sources for the branch, downloads the boot JDK, 
> installs the needed software packages, and then runs two build steps, 
> `gradlew all` followed by `gradlew test -x :web:test`.
> 
> The Skara tooling will process the results of the GitHub actions run, and 
> show them in the **Testing** section of a pull request, as you can see below.
> 
> Follow-on work:
> 
> 1. Get BOOT JDK parameters from `build.properties`. Currently the location of 
> the bootJDK is hardcoded in the 
> [`submit.yml`](https://github.com/kevinrushforth/jfx/blob/8254691-github-actions/.github/workflows/submit.yml)
>  file. This should be obtained from build.properties; we might need to add a 
> couple more properties.
> 
> 2. Check the shasum of the downloaded bootJDK and enable caching of the JDK 
> (in order to save download time). This requires step 1 to be done first.
> 
> 3. Locate the Visual Studio compiler on Windows. The location and version of 
> the Microsoft Visual Studio 2019 compiler is hard-coded which will break if 
> and when the GitHub build farm updates their Windows system. This will 
> require making our build itself a little smarter, possibly using `vswhere`.

Kevin Rushforth has updated the pull request with a new target base due to a 
merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains three additional 
commits since the last revision:

 - Merge branch 'master' into 8254691-github-actions
 - Ignore additional branches; minor cleanup
 - WIP: 8254691: Enable GitHub actions for jfx repo
   
   Initial working version on Linux, Mac, Windows

-

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/338/files
  - new: https://git.openjdk.java.net/jfx/pull/338/files/61044f67..b3e01031

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=338&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=338&range=00-01

  Stats: 160 lines in 3 files changed: 12 ins; 93 del; 55 mod
  Patch: https://git.openjdk.java.net/jfx/pull/338.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/338/head:pull/338

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo [v2]

2020-10-29 Thread Ambarish Rapte
On Wed, 28 Oct 2020 14:43:52 GMT, Kevin Rushforth  wrote:

>> This is a proposed fix for 
>> [JDK-8254691](https://bugs.openjdk.java.net/browse/JDK-8254691) to enable 
>> GitHub actions for the jfx repo. It is similar in purpose to what was done 
>> for the jdk repo.
>> 
>> Once this is integrated, and subsequently merged into your personal fork, a 
>> GitHub Actions workflow will run on every push to any branch in your 
>> personal fork except a production branch (so that syncing the upstream 
>> `master` or `jfx*` branch won't cause a build) or any branch whose name that 
>> starts with `WIP`.
>> 
>> The workflow does a build and (headless) test run on all three platforms: 
>> Linux, macOS, and Windows. The build is done without building the native 
>> media or WebKit libraries. Web tests are excluded.
>> 
>> Here is the job that resulted from the most recent push to the 
>> `8254691-github-actions` branch in my personal fork:
>> 
>> https://github.com/kevinrushforth/jfx/actions/runs/329355746
>> 
>> The workflow checks out the sources for the branch, downloads the boot JDK, 
>> installs the needed software packages, and then runs two build steps, 
>> `gradlew all` followed by `gradlew test -x :web:test`.
>> 
>> The Skara tooling will process the results of the GitHub actions run, and 
>> show them in the **Testing** section of a pull request, as you can see below.
>> 
>> Follow-on work:
>> 
>> 1. Get BOOT JDK parameters from `build.properties`. Currently the location 
>> of the bootJDK is hardcoded in the 
>> [`submit.yml`](https://github.com/kevinrushforth/jfx/blob/8254691-github-actions/.github/workflows/submit.yml)
>>  file. This should be obtained from build.properties; we might need to add a 
>> couple more properties.
>> 
>> 2. Check the shasum of the downloaded bootJDK and enable caching of the JDK 
>> (in order to save download time). This requires step 1 to be done first.
>> 
>> 3. Locate the Visual Studio compiler on Windows. The location and version of 
>> the Microsoft Visual Studio 2019 compiler is hard-coded which will break if 
>> and when the GitHub build farm updates their Windows system. This will 
>> require making our build itself a little smarter, possibly using `vswhere`.
>
> Kevin Rushforth has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains three additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into 8254691-github-actions
>  - Ignore additional branches; minor cleanup
>  - WIP: 8254691: Enable GitHub actions for jfx repo
>
>Initial working version on Linux, Mac, Windows

Looks good to me. Verified a dummy PR with two commits.
Actions executed correctly on both commits. Also verified that test failure is 
reported correctly and failed test can be found in log under Actions section.

-

Marked as reviewed by arapte (Reviewer).

PR: https://git.openjdk.java.net/jfx/pull/338


Re: Re: RFR: 8254691: Enable GitHub actions for jfx repo

2020-10-30 Thread Eric Bresie
So this doesn’t show lower level test just basically a build successfully 
pass/fail on each platform? Or would it show any low level tests if they failed?

Eric Bresie
ebre...@gmail.com (mailto:ebre...@gmail.com)

> On October 28, 2020 at 9:43:53 AM CDT, Kevin Rushforth  (mailto:k...@openjdk.java.net)> wrote:
> On Tue, 27 Oct 2020 19:02:40 GMT, Kevin Rushforth  (mailto:k...@openjdk.org)> wrote:
>
> > > ### Note to reviewers:
> > >
> > > If you want to test this yourself you can pull the PR branch into a 
> > > branch in your local repo and push it to your personal fork. Something 
> > > like the following should work for you, assuming that you are in your 
> > > local repo with `origin` pointing to your personal fork:
> > >
> > > git fetch https://github.com/openjdk/jfx.git pull/338/head:pr-338
> > > git push -u origin pr-338
> > >
> > > Then you will be able to see the GitHub action workflow and track its 
> > > progress by clicking on the "Actions" tab on your personal fork repo page.
> >
> > See PR #339 for an example (using an intentionally injected failure) of 
> > what a failed build or test will look like.
>
> I merged `master` into my local branch so it would run the tests again on an 
> up-to-date repo.
>
> -
>
> PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo [v2]

2020-10-30 Thread Johan Vos
On Wed, 28 Oct 2020 14:43:52 GMT, Kevin Rushforth  wrote:

>> This is a proposed fix for 
>> [JDK-8254691](https://bugs.openjdk.java.net/browse/JDK-8254691) to enable 
>> GitHub actions for the jfx repo. It is similar in purpose to what was done 
>> for the jdk repo.
>> 
>> Once this is integrated, and subsequently merged into your personal fork, a 
>> GitHub Actions workflow will run on every push to any branch in your 
>> personal fork except a production branch (so that syncing the upstream 
>> `master` or `jfx*` branch won't cause a build) or any branch whose name that 
>> starts with `WIP`.
>> 
>> The workflow does a build and (headless) test run on all three platforms: 
>> Linux, macOS, and Windows. The build is done without building the native 
>> media or WebKit libraries. Web tests are excluded.
>> 
>> Here is the job that resulted from the most recent push to the 
>> `8254691-github-actions` branch in my personal fork:
>> 
>> https://github.com/kevinrushforth/jfx/actions/runs/329355746
>> 
>> The workflow checks out the sources for the branch, downloads the boot JDK, 
>> installs the needed software packages, and then runs two build steps, 
>> `gradlew all` followed by `gradlew test -x :web:test`.
>> 
>> The Skara tooling will process the results of the GitHub actions run, and 
>> show them in the **Testing** section of a pull request, as you can see below.
>> 
>> Follow-on work:
>> 
>> 1. Get BOOT JDK parameters from `build.properties`. Currently the location 
>> of the bootJDK is hardcoded in the 
>> [`submit.yml`](https://github.com/kevinrushforth/jfx/blob/8254691-github-actions/.github/workflows/submit.yml)
>>  file. This should be obtained from build.properties; we might need to add a 
>> couple more properties.
>> 
>> 2. Check the shasum of the downloaded bootJDK and enable caching of the JDK 
>> (in order to save download time). This requires step 1 to be done first.
>> 
>> 3. Locate the Visual Studio compiler on Windows. The location and version of 
>> the Microsoft Visual Studio 2019 compiler is hard-coded which will break if 
>> and when the GitHub build farm updates their Windows system. This will 
>> require making our build itself a little smarter, possibly using `vswhere`.
>
> Kevin Rushforth has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains three additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into 8254691-github-actions
>  - Ignore additional branches; minor cleanup
>  - WIP: 8254691: Enable GitHub actions for jfx repo
>
>Initial working version on Linux, Mac, Windows

.github/workflows/submit.yml line 63:

> 61:   BOOT_JDK_VERSION: "15"
> 62:   BOOT_JDK_FILENAME: "openjdk-15_linux-x64_bin.tar.gz"
> 63:   BOOT_JDK_URL: 
> "https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_linux-x64_bin.tar.gz";

Should this be 15.0.1 ? (same for win/mac)

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo [v2]

2020-10-30 Thread Johan Vos
On Thu, 29 Oct 2020 18:30:47 GMT, Ambarish Rapte  wrote:

>> Kevin Rushforth has updated the pull request with a new target base due to a 
>> merge or a rebase. The incremental webrev excludes the unrelated changes 
>> brought in by the merge/rebase. The pull request contains three additional 
>> commits since the last revision:
>> 
>>  - Merge branch 'master' into 8254691-github-actions
>>  - Ignore additional branches; minor cleanup
>>  - WIP: 8254691: Enable GitHub actions for jfx repo
>>
>>Initial working version on Linux, Mac, Windows
>
> Looks good to me. Verified a dummy PR with two commits.
> Actions executed correctly on both commits. Also verified that test failure 
> is reported correctly and failed test can be found in log under Actions 
> section.

This works fine. I have a minor comment (about using 15.0.1, but since we don't 
use that in build.properties either, I think it's not an issue), and apart from 
that, this looks very good.

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo [v2]

2020-10-31 Thread Kevin Rushforth
On Fri, 30 Oct 2020 17:05:37 GMT, Johan Vos  wrote:

>> Looks good to me. Verified a dummy PR with two commits.
>> Actions executed correctly on both commits. Also verified that test failure 
>> is reported correctly and failed test can be found in log under Actions 
>> section.
>
> This works fine. I have a minor comment (about using 15.0.1, but since we 
> don't use that in build.properties either, I think it's not an issue), and 
> apart from that, this looks very good.

I'd rather update the boot JDK to 15.0.1 as a follow-on fix, so that it matches 
the version defined in build.properties. I filed the following follow-on issues:

[JDK-8255714](https://bugs.openjdk.java.net/browse/JDK-8255714): Switch FX 
build to use JDK 15.0.1 as boot JDK
[JDK-8255712](https://bugs.openjdk.java.net/browse/JDK-8255712): GitHub 
actions: read boot JDK version and URL from build.properties
[JDK-8255713](https://bugs.openjdk.java.net/browse/JDK-8255713): GitHub 
actions: JavaFX build should discover Visual Studio compiler on system

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo [v2]

2020-10-31 Thread Kevin Rushforth
On Sat, 31 Oct 2020 14:35:09 GMT, Kevin Rushforth  wrote:

>> This works fine. I have a minor comment (about using 15.0.1, but since we 
>> don't use that in build.properties either, I think it's not an issue), and 
>> apart from that, this looks very good.
>
> I'd rather update the boot JDK to 15.0.1 as a follow-on fix, so that it 
> matches the version defined in build.properties. I filed the following 
> follow-on issues:
> 
> [JDK-8255714](https://bugs.openjdk.java.net/browse/JDK-8255714): Switch FX 
> build to use JDK 15.0.1 as boot JDK
> [JDK-8255712](https://bugs.openjdk.java.net/browse/JDK-8255712): GitHub 
> actions: read boot JDK version and URL from build.properties
> [JDK-8255713](https://bugs.openjdk.java.net/browse/JDK-8255713): GitHub 
> actions: JavaFX build should discover Visual Studio compiler on system

> So this doesn?t show lower level test just basically a build successfully 
> pass/fail on each platform? Or would it show any low level tests if they 
> failed?

If there is a build or test failure you get a link to the failing tasks and can 
look at the log file to see the failures (no summary at the present time, 
though). For example, here are the results from the test build done in PR #339 :


| | Linux x64 | Windows x64 | macOS x64 |
| --- | - | - | - |
| Build / test | ✔️ (1/1 passed) | ❌ (1/1 failed) | ❌ (1/1 failed) |

**Failed test tasks**
- [Windows x64](https://github.com/kevinrushforth/jfx/runs/1316694644)
- [macOS x64](https://github.com/kevinrushforth/jfx/runs/1316694612)

-

PR: https://git.openjdk.java.net/jfx/pull/338


Re: RFR: 8254691: Enable GitHub actions for jfx repo [v2]

2020-10-31 Thread Johan Vos
On Wed, 28 Oct 2020 14:43:52 GMT, Kevin Rushforth  wrote:

>> This is a proposed fix for 
>> [JDK-8254691](https://bugs.openjdk.java.net/browse/JDK-8254691) to enable 
>> GitHub actions for the jfx repo. It is similar in purpose to what was done 
>> for the jdk repo.
>> 
>> Once this is integrated, and subsequently merged into your personal fork, a 
>> GitHub Actions workflow will run on every push to any branch in your 
>> personal fork except a production branch (so that syncing the upstream 
>> `master` or `jfx*` branch won't cause a build) or any branch whose name that 
>> starts with `WIP`.
>> 
>> The workflow does a build and (headless) test run on all three platforms: 
>> Linux, macOS, and Windows. The build is done without building the native 
>> media or WebKit libraries. Web tests are excluded.
>> 
>> Here is the job that resulted from the most recent push to the 
>> `8254691-github-actions` branch in my personal fork:
>> 
>> https://github.com/kevinrushforth/jfx/actions/runs/329355746
>> 
>> The workflow checks out the sources for the branch, downloads the boot JDK, 
>> installs the needed software packages, and then runs two build steps, 
>> `gradlew all` followed by `gradlew test -x :web:test`.
>> 
>> The Skara tooling will process the results of the GitHub actions run, and 
>> show them in the **Testing** section of a pull request, as you can see below.
>> 
>> Follow-on work:
>> 
>> 1. Get BOOT JDK parameters from `build.properties`. Currently the location 
>> of the bootJDK is hardcoded in the 
>> [`submit.yml`](https://github.com/kevinrushforth/jfx/blob/8254691-github-actions/.github/workflows/submit.yml)
>>  file. This should be obtained from build.properties; we might need to add a 
>> couple more properties.
>> 
>> 2. Check the shasum of the downloaded bootJDK and enable caching of the JDK 
>> (in order to save download time). This requires step 1 to be done first.
>> 
>> 3. Locate the Visual Studio compiler on Windows. The location and version of 
>> the Microsoft Visual Studio 2019 compiler is hard-coded which will break if 
>> and when the GitHub build farm updates their Windows system. This will 
>> require making our build itself a little smarter, possibly using `vswhere`.
>
> Kevin Rushforth has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains three additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into 8254691-github-actions
>  - Ignore additional branches; minor cleanup
>  - WIP: 8254691: Enable GitHub actions for jfx repo
>
>Initial working version on Linux, Mac, Windows

Marked as reviewed by jvos (Reviewer).

-

PR: https://git.openjdk.java.net/jfx/pull/338