RFR: 8263856: Github Actions for macos/aarch64 cross-build

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

RFR: 8263856: Github Actions for macos/aarch64 cross-build

Anton Kozlov-2
Please review a change that adds cross-compiled macos/aarch64 platform build into Github Actions test workflow.

The steps are basically copy-paste of macos/x86-64 build with the necessary platform name adjustments. A default XCode is also used, as macos/aarch64 build requires XCode 12+.

I've checked the produced build (can be found in https://github.com/AntonKozlov/jdk/actions/runs/667527036), it starts on the actual aarch64 machine.

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

Commit messages:
 - Add macos/aarch64 build workflow

Changes: https://git.openjdk.java.net/jdk/pull/3270/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3270&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263856
  Stats: 107 lines in 1 file changed: 107 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3270.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3270/head:pull/3270

PR: https://git.openjdk.java.net/jdk/pull/3270
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263856: Github Actions for macos/aarch64 cross-build

Erik Joelsson-2
On Tue, 30 Mar 2021 15:03:29 GMT, Anton Kozlov <[hidden email]> wrote:

> Please review a change that adds cross-compiled macos/aarch64 platform build into Github Actions test workflow.
>
> The steps are basically copy-paste of macos/x86-64 build with the necessary platform name adjustments. A default XCode is also used, as macos/aarch64 build requires XCode 12+.
>
> I've checked the produced build (can be found in https://github.com/AntonKozlov/jdk/actions/runs/667527036), it starts on the actual aarch64 machine.

Even if what you currently want is the "latest" Xcode, I still think the choice should be explicit on the version. Otherwise we will suddenly get a new version picked at some random time in the future, which may not work. It's very important to control as many external variables as possible when defining a verification build like this.

.github/workflows/submit.yml line 1444:

> 1442:           --with-conf-name=macos-aarch64
> 1443:           --openjdk-target=aarch64-apple-darwin
> 1444:           --with-extra-cflags="-arch arm64"

If configure isn't adding these flags automatically, that's something that we should fix.

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

PR: https://git.openjdk.java.net/jdk/pull/3270
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263856: Github Actions for macos/aarch64 cross-build [v2]

Anton Kozlov-2
In reply to this post by Anton Kozlov-2
> Please review a change that adds cross-compiled macos/aarch64 platform build into Github Actions test workflow.
>
> The steps are basically copy-paste of macos/x86-64 build with the necessary platform name adjustments. A default XCode is also used, as macos/aarch64 build requires XCode 12+.
>
> I've checked the produced build (can be found in https://github.com/AntonKozlov/jdk/actions/runs/667527036), it starts on the actual aarch64 machine.

Anton Kozlov 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:

 - Specify Xcode version; don't use --extra-{c,cxx,ld}flags
 - Merge remote-tracking branch 'upstream/jdk/master' into 8263856-gha-macos-aarch64
 - Add macos/aarch64 build workflow

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3270/files
  - new: https://git.openjdk.java.net/jdk/pull/3270/files/3cc31743..215f4dda

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

  Stats: 23610 lines in 431 files changed: 17737 ins; 3221 del; 2652 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3270.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3270/head:pull/3270

PR: https://git.openjdk.java.net/jdk/pull/3270
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263856: Github Actions for macos/aarch64 cross-build [v2]

Anton Kozlov-2
In reply to this post by Erik Joelsson-2
On Tue, 30 Mar 2021 16:29:49 GMT, Erik Joelsson <[hidden email]> wrote:

>> Anton Kozlov 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:
>>
>>  - Specify Xcode version; don't use --extra-{c,cxx,ld}flags
>>  - Merge remote-tracking branch 'upstream/jdk/master' into 8263856-gha-macos-aarch64
>>  - Add macos/aarch64 build workflow
>
> .github/workflows/submit.yml line 1444:
>
>> 1442:           --with-conf-name=macos-aarch64
>> 1443:           --openjdk-target=aarch64-apple-darwin
>> 1444:           --with-extra-cflags="-arch arm64"
>
> If configure isn't adding these flags automatically, that's something that we should fix.

Thanks for review! The problem with flags is resolved by merging in master with https://bugs.openjdk.java.net/browse/JDK-8264650

The Xcode version if fixed to 12.4, which is consistent with the current state of PR #3258 (https://bugs.openjdk.java.net/browse/JDK-8264224)

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

PR: https://git.openjdk.java.net/jdk/pull/3270
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8263856: Github Actions for macos/aarch64 cross-build [v2]

Erik Joelsson-2
In reply to this post by Anton Kozlov-2
On Tue, 6 Apr 2021 06:22:47 GMT, Anton Kozlov <[hidden email]> wrote:

>> Please review a change that adds cross-compiled macos/aarch64 platform build into Github Actions test workflow.
>>
>> The steps are basically copy-paste of macos/x86-64 build with the necessary platform name adjustments. Xcode 12.4 is also used for as macos/aarch64 build.
>>
>> I've checked the produced build (can be found in https://github.com/AntonKozlov/jdk/actions/runs/667527036), it starts on the actual aarch64 machine.
>
> Anton Kozlov 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:
>
>  - Specify Xcode version; don't use --extra-{c,cxx,ld}flags
>  - Merge remote-tracking branch 'upstream/jdk/master' into 8263856-gha-macos-aarch64
>  - Add macos/aarch64 build workflow

Marked as reviewed by erikj (Reviewer).

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

PR: https://git.openjdk.java.net/jdk/pull/3270
Reply | Threaded
Open this post in threaded view
|

Integrated: 8263856: Github Actions for macos/aarch64 cross-build

Anton Kozlov-2
In reply to this post by Anton Kozlov-2
On Tue, 30 Mar 2021 15:03:29 GMT, Anton Kozlov <[hidden email]> wrote:

> Please review a change that adds cross-compiled macos/aarch64 platform build into Github Actions test workflow.
>
> The steps are basically copy-paste of macos/x86-64 build with the necessary platform name adjustments. Xcode 12.4 is also used for as macos/aarch64 build.
>
> I've checked the produced build (can be found in https://github.com/AntonKozlov/jdk/actions/runs/667527036), it starts on the actual aarch64 machine.

This pull request has now been integrated.

Changeset: 114e3c3e
Author:    Anton Kozlov <[hidden email]>
Committer: Vladimir Kempik <[hidden email]>
URL:       https://git.openjdk.java.net/jdk/commit/114e3c3e
Stats:     107 lines in 1 file changed: 107 ins; 0 del; 0 mod

8263856: Github Actions for macos/aarch64 cross-build

Reviewed-by: erikj

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

PR: https://git.openjdk.java.net/jdk/pull/3270