New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8253424: Add support for running pre-submit testing using GitHub Actions #3
Conversation
👋 Welcome back andrew! A progress list of the required criteria for merging this PR into |
This backport pull request has now been updated with issues from the original commit. |
Webrevs
|
…able-jtreg-failure-handler and move make targets to make command
…ssing dependency for x86 build, turn on verbose logging for x64
…uild bundle" This reverts commit ad22b98.
@gnu-andrew Could you mark this PR as draft until it's ready for review, please? This avoids many emails sent to the list unnecessarily. |
Done. Sorry, I didn't realise it wasn't spamming anyone. I've done as much as I can here. I'm going to need to enlist someone to look at the Windows build. The additional builds & tests will need backports of bundle support. |
@jerboaa , I don't have experience with GitHub Actions, will look into them and report back. |
I've played around with trying to get JDK8u to compile on Windows in GH actions before, I think it mainly boils down to the version of Visual Studio on the executors. At Eclipse Adoptium we use Visual Studio 2013 but there is no easy way to install that onto the environment anymore (we used to use chocolatey but that package broke a while back). Happy to provide any help if required |
Any help is very much welcome. I've never built on Windows before, so I have no idea of the requirements and issues there. What we have at present is pretty much what is in 11u-dev, other than I removed the |
It's largely just a collection of build scripts with interdependencies. The main part for you to look at is under |
make/conf/test-dependencies
Outdated
JTREG_VERSION=5.1 | ||
JTREG_BUILD=b01 | ||
|
||
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-11_windows-x64_bin.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-11_windows-x64_bin.zip | |
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-8_windows-x64_bin.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching this. It's only the name for the downloaded file, but it's better that the label matches what's in the box :)
make/conf/test-dependencies
Outdated
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u322-b06/OpenJDK8U-jdk_x64_windows_hotspot_8u322b06.zip | ||
WINDOWS_X64_BOOT_JDK_SHA256=c9e06afb5df850e90a4da9da31c2edf10bd6da9962c4b253e91b41237f8fb2fb | ||
|
||
MACOS_X64_BOOT_JDK_FILENAME=openjdk-11_osx-x64_bin.tar.gz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MACOS_X64_BOOT_JDK_FILENAME=openjdk-11_osx-x64_bin.tar.gz | |
MACOS_X64_BOOT_JDK_FILENAME=openjdk-8_osx-x64_bin.tar.gz |
I was doing some experiments with windows (32-bit) builds of jdk8 in github actions in the past using vs2010express. (Visual Studio 2010 is mentioned for windows in README-builds.html) When I tried my old code, and have found, that it no longer works (simple steps to install vs2010express no longer work, caused by dead MS links [1]). However, after some experimentation, I was able to install vs2010express from iso (from webarchive) and now it works again. My basic (cleaned up) github workflow which does 32-bit build of openjdk8 using vs2010express can be found here. [2] [1] https://github.community/t/how-to-use-vc100-for-msbuild/16623/2 |
But there is one problem, which needs to be workarounded in my setup (see that ugly sed [3] in my workflow), to get through configure, as otherwise it dies with this error (seems like problem with path conversion somewhere, but I don't remember exactly, as this is from my old code):
EDIT: [3] https://github.com/zzambers/test-jdk-builder/blob/ff5f0c9662dc6829c1b267cecfdfdc74ed0af3a1/.github/workflows/build-workflow.yaml#L58 |
@gnu-andrew -- please consider adding JDK-8282225 to this batch as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems good enough for an initial integration. Better to have some (build) tests prior integration than nothing :)
One question: Do we really need file .github/workflows/freetype.vcxproj
? If not, please remove.
@gnu-andrew This change now passes all automated pre-integration checks. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 13 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
It was provided by Alex for the Windows build: #3 (comment) I'm no expert as to why this is needed. I did notice there were some FreeType build changes that could possibly be backported. I'd rather we did this in a follow-on PR though, so we can get the basics in. It's already been a month, and personally, I'm not going to have time to look at anything for the next few weeks, due to the security update. |
OK. No expert on this either, so fine with me going in either way :-) It's certainly better than what we have currently. |
This |
Thanks. I've flagged the main bug for 8u approval now (I presume we can infer the others from that one). |
Thanks for the explanation. That does make things a lot clearer for me. A couple of questions:
|
Yes, I believe it is not needed for VS2010. I haven't tried it with 32-bit VS2010 myself, but IIRC it worked out of the box with 64-bit VS2013 (freeware version of VS2010 doesn't support 64-bit, setup is possible with WinSDK7.1 toolchain, but it is complicated). Modified file was intended to change only 64-bit config (to make it working with 64-bit VS2017) so 32-bit config remained the same there. Thus
Yes, in 8u FreeType is not included in-tree, it was always used as an external dependency and for "open" jdk only (Oracle JDK didn't use it). |
I see the bug now has |
Thanks. We can maybe try that in a follow-up PR.
Interesting, thanks. It may be worth considering whether to bring the FreeType sources into 8u as well. |
/integrate |
Going to push as commit 10029f7.
Your commit was automatically rebased without conflicts. |
@gnu-andrew Pushed as commit 10029f7. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
@gnu-andrew I'm currently on a backport of openjdk/jdk11u@58ff4ee to JDK8u. If I can get it to work I'll submit a backport PR here for review. It should make the FreeType maintenance easier going forwards and should allow us to progress from 2.8.x which has some published vulnerabilities. |
Initial attempt to backport openjdk/jdk11u-dev@1faefed
Changes so far:
make/autoconf/version-numbers
->common/autoconf/version-numbers
JDK_MAJOR_VERSION
,JDK_MINOR_VERSION
andJDK_MICRO_VERSION
in 8u)--with-version-opt
with--with-user-release-suffix
--enable-jtreg-failure-handler
(unsupported)--with-default-make-target
not supported)--with-msvc-toolset-version
Progress
Issues
Reviewers
Contributors
<akasko@openjdk.org>
<zzambers@redhat.com>
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk8u-dev pull/3/head:pull/3
$ git checkout pull/3
Update a local copy of the PR:
$ git checkout pull/3
$ git pull https://git.openjdk.java.net/jdk8u-dev pull/3/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 3
View PR using the GUI difftool:
$ git pr show -t 3
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk8u-dev/pull/3.diff