Stream: git-wasmtime

Topic: wasmtime / PR #1526 Add AArch64 tests to CI


view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 20:13):

alexcrichton opened PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 20:24):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 20:24):

abrown created PR Review Comment:

See #1517 for where I remove this TODO and finish this implementation. I agree that we need a way to filter out test run filetests based on the target ISA but I don't want to confuse anyone by overloading target ...; perhaps if we add some documentation at the top of this file (for cargo docs) and some text to the bottom of https://github.com/bytecodealliance/wasmtime/blob/master/cranelift/docs/testing.md?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 20:25):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 20:25):

abrown created PR Review Comment:

And we might want to print something saying we skipped a test.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 20:26):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 20:26):

abrown created PR Review Comment:

To make this even more explicit we could add another keyword only_run_on (or something like that), but that could be a separate issue/PR.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 20:39):

alexcrichton updated PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 21:18):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 21:18):

alexcrichton created PR Review Comment:

I'm fine basically doing whatever here, although I'm pretty unfamiliar with cranelift's currently test runner/suite. It seems like documenting this change is a bare minimum, but beyond that do you think something should happen here or in a future pr?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 21:19):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 21:19):

alexcrichton created PR Review Comment:

Does the filetest infrastructure print out anything else currently? Curious if I can see an example of what format to print and such.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 21:23):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 21:23):

abrown created PR Review Comment:

Hm, I don't feel really strongly about the only_run_on idea so I guess we could just document and if someone else cares enough we could take it further.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 21:28):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 21:28):

abrown created PR Review Comment:

Over in cranelift/src/filetests/runner.rs it is printing FAIL {path}: {error} so maybe we could print IGNORE {path}: host ISA did not match target ISA? That way at least there is some indication that things didn't run perfectly.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 22:07):

bjorn3 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 22:07):

bjorn3 created PR Review Comment:

???

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 22:07):

bjorn3 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 16 2020 at 22:07):

bjorn3 created PR Review Comment:

Shouldn't this be false and the line above true?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 16:58):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 16:58):

alexcrichton created PR Review Comment:

This is an internal script we use to build tarballs, it's not really intended to be super-well-documented or make a ton of sense...

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 16:58):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 16:58):

alexcrichton created PR Review Comment:

No, this is as-intended (hence the green CI passing)

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 20:44):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 20:44):

alexcrichton created PR Review Comment:

Hm so it looks like the path isn't already threaded through, would you be ok to follow-up with this at a later date?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 20:46):

alexcrichton updated PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 22:25):

alexcrichton updated PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 23:15):

abrown submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 17 2020 at 23:15):

abrown created PR Review Comment:

Sure, tag me in an issue and I will try to look at this later.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 20 2020 at 15:09):

alexcrichton updated PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 20 2020 at 15:10):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 20 2020 at 15:10):

alexcrichton created PR Review Comment:

Sure thing! Extracted out https://github.com/bytecodealliance/wasmtime/issues/1558

view this post on Zulip Wasmtime GitHub notifications bot (Apr 21 2020 at 18:57):

alexcrichton updated PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2020 at 15:05):

alexcrichton updated PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2020 at 15:24):

alexcrichton updated PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2020 at 17:20):

cfallin submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2020 at 17:20):

cfallin submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2020 at 17:20):

cfallin created PR Review Comment:

Just for future sanity -- maybe standardize on $platform, and add a # Usage: build-tarballs.sh PLATFORM [.exe] (PLATFORM is e.g. x86_64-linux, aarch64-linux) comment (no need for an actual arg check)?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2020 at 17:20):

cfallin created PR Review Comment:

Little clarity nit, but maybe add a comment here to distinguish from the "test that this correctly panics" unit-test idiom. Something like // Determine whether to add a should_panic attribute. These tests currently panic because of unfinished backend implementation work; we will remove them from this list as we finish the implementation.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2020 at 17:56):

alexcrichton updated PR #1526 from arm64-ci-pr to master:

This commit enhances our CI with an AArch64 builder. Currently we have
no physical hardware to run on so for now we run all tests in an
emulator. The AArch64 build is cross-compiled from x86_64 from Linux.
Tests all happen in release mode with a recent version of QEMU (recent
version because it's so much faster, and in release mode because debug
mode tests take quite a long time in an emulator).

The goal here was not to get all tests passing on CI, but rather to get
AArch64 running on CI and get it green at the same time. To achieve that
goal many tests are now ignored on aarch64 platforms. Many tests fail
due to unimplemented functionality in the aarch64 backend (#1521), and
all wasmtime tests involving compilation are also disabled due to
panicking attempting to generate generate instruction offset information
for trap symbolication (#1523).

Despite this, though, all Cranelift tests and other wasmtime tests
should be runnin on AArch64 through QEMU with this PR. Additionally
we'll have an AArch64 binary release of Wasmtime for Linux, although it
won't be too useful just yet since it will panic on almost all wasm
modules.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2020 at 17:56):

alexcrichton merged PR #1526.


Last updated: Dec 23 2024 at 12:05 UTC