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`.

-------------

Commit messages:
 - Ignore additional branches; minor cleanup
 - WIP: 8254691: Enable GitHub actions for jfx repo

Changes: https://git.openjdk.java.net/jfx/pull/338/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=338&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8254691
  Stats: 285 lines in 1 file changed: 285 ins; 0 del; 0 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

Reply via email to