RFR: 8254691: Enable GitHub actions for jfx repo [v2]
Kevin Rushforth
kcr at openjdk.java.net
Wed Oct 28 14:43:52 UTC 2020
> 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
More information about the openjfx-dev
mailing list