Skip to content
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

[BUG] dev environment is incompatible with ARM macOS #24

Open
duncdrum opened this issue Jan 8, 2023 · 9 comments
Open

[BUG] dev environment is incompatible with ARM macOS #24

duncdrum opened this issue Jan 8, 2023 · 9 comments

Comments

@duncdrum
Copy link
Contributor

duncdrum commented Jan 8, 2023

Describe the bug

Run the test commands specified in the readme mvn -Pdev docker:start
Result:

[ERROR] DOCKER> IO Error while requesting logs: org.apache.http.ConnectionClosedException: Premature end of chunk coded message body: closing chunk expected Thread-2
[ERROR] DOCKER> [existdb/existdb:6.1.0-SNAPSHOT] "existdb-semver-xq": Timeout after 120419 ms while waiting on log out 'Server has started, listening on'
[ERROR] DOCKER> Error occurred during container startup, shutting down...
[INFO] DOCKER> [existdb/existdb:6.1.0-SNAPSHOT] "existdb-semver-xq": Stop and removed container db2611c794e6 after 0 ms
[ERROR] DOCKER> I/O Error [[existdb/existdb:6.1.0-SNAPSHOT] "existdb-semver-xq": Timeout after 120419 ms while waiting on log out 'Server has started, listening on']

Expected behavior
To run the tests

Context (please always complete the following information):

  • OS: [macOS 12.6.2]
  • Java Version: [1.8.0_352]
@adamretter
Copy link
Member

I don't think this is a bug as we have never claimed compatibility with arm. I think this is a feature request...

@duncdrum
Copy link
Contributor Author

Before the build system changes monex could be build and tested on arm. With these changes it no longer can. Without mentioning the deprecation on the readme. I doubt monex can be build and tested on windows ootb either.

It’s a request to maintain the old support matrix. Wouldn’t call that a feature request.

@adamretter
Copy link
Member

adamretter commented Jan 10, 2023

My point is still valid - we have never claimed to support Arm, or Windows, or anything in fact. CI config has always shown that we only support Linux x86_64 officially. Maybe we should decide what we would like to support and then people can contribute that support

@duncdrum
Copy link
Contributor Author

@adamretter here is what we have claimed and still claim on the readme.

Requirements: Java 8, Apache Maven 3.3+, Git.

this is no longer correct. So no your point is not valid

@adamretter
Copy link
Member

adamretter commented Jan 10, 2023

So we should support every Java system? Have you tried this on ppcle64, s380x, or riscV? Even across many os like Solaris, BSD*, zOS?

@duncdrum
Copy link
Contributor Author

Besides the point, if you want to add more System architectures to exist be my guest. You rejected my PR to do so, as not necessary. Windows and macOS are supported by exist.

You introduced a docker dependency and limited architecture to x86_64 with your PR and release of monex and failed to document it. Breaking the support matrix we inherit from exist on the way.

This was a unilateral decision by you as a non maintainer that was unnecessary.

@adamretter
Copy link
Member

I don't believe the history of this is as simple as your recollection of it above @duncdrum. If I recall, there are numerous issues around supporting different Docker architectures from the build system plugin at present that you told us about. If I recall correctly that was due to a lack of support for buildx from the plugin . I won't comment further on this here, but you can see that more recently buildx support has been added to the plugin - fabric8io/docker-maven-plugin#1544

As with any Open Source project, you are welcome to send a PR for a new feature to update the docker-maven-plugin config to add the additional architectures via buildx that you are looking for

@duncdrum
Copy link
Contributor Author

As with any Open Source project, you are welcome to send a PR for a new feature to update the docker-maven-plugin config to add the additional architectures via buildx that you are looking for

And you are free to adopt the open source code where I already produce multi-arch images.

As usual your recollection of history is irrelevant. This repo has hard dependencies which aren't documented on its repo, it can no longer be build on macOS or Win.

@adamretter
Copy link
Member

And you are free to adopt the open source code where I already produce multi-arch images.

Free as in liberty, but not free as in time!

I am not personally or commercially in need of support for building this app via ARM macOS, so I will not be investing any further time in this at this point.

Considering the Xar artifacts that we publish will execute just fine on ARM macOS, this satisfies the vast majority of users (who are not contributors to this project).

If you are in need of this, then it is a choice you can make as to whether you wish to invest the time in contributing it, getting it through review, getting it merged, and then released.

As usual your recollection of history is irrelevant.

Please take a moment to consider whether your use of language is inline with the eXist-db Code of Conduct - https://www.contributor-covenant.org/version/1/4/code-of-conduct/

it can no longer be build on macOS

It does appear to build and run tests to success on macOS x86_64:

[INFO] --- maven-surefire-plugin:3.0.0-M7:test (default-test) @ semver-xq ---
[INFO] Using auto detected provider org.apache.maven.surefire.junit4.JUnit4Provider
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running xquery.CoreTests
Using temporary storage location: /var/folders/jp/8gqm072107l_rl1pvbw8rgjh0000gn/T/org.exist.test.ExistEmbeddedServer5455002502183077952
Jan 16, 2023 12:21:03 PM org.expath.pkg.repo.tools.Logger info
INFO: Create a new repository with storage: File system storage in /var/folders/jp/8gqm072107l_rl1pvbw8rgjh0000gn/T/org.exist.test.ExistEmbeddedServer5455002502183077952/expathrepo
[INFO] Tests run: 55, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.598 s - in xquery.CoreTests
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 55, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- maven-jar-plugin:3.2.2:jar (default-jar) @ semver-xq ---
[INFO] Building jar: /Users/aretter/code/semver.xq/target/semver-xq-3.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- kuberam-expath-plugin:0.6.3:make-xar (create-xar) @ semver-xq ---
[INFO] outputDirectoryPath = /Users/aretter/code/semver.xq/target
[INFO] descriptorsDirectoryPath: /Users/aretter/code/semver.xq/target/expath-descriptors
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource to /Users/aretter/code/semver.xq/target/make-xar-tmp
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource to /Users/aretter/code/semver.xq/target/expath-descriptors
[INFO] Building zip: /Users/aretter/code/semver.xq/target/semver-xq-3.0.1-SNAPSHOT.xar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.999 s
[INFO] Finished at: 2023-01-16T12:21:08+01:00
[INFO] ------------------------------------------------------------------------

❯ uname -av
Darwin pomona.local 22.2.0 Darwin Kernel Version 22.2.0: Fri Nov 11 02:08:47 PST 2022; root:xnu-8792.61.2~4/RELEASE_X86_64 x86_64

Also the "docker dev environment" does appear to work just fine too on macOS x86_64:

❯ mvn -Pdev docker:start
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< org.exist-db.xquery:semver-xq >--------------------
[INFO] Building semver.xq 3.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- docker-maven-plugin:0.40.3:start (default-cli) @ semver-xq ---
[INFO] DOCKER> [existdb/existdb:6.1.0-SNAPSHOT] "existdb-semver-xq": Start container bdb229be1b31
[INFO] DOCKER> Pattern 'Server has started, listening on' matched for container bdb229be1b31
[INFO] DOCKER> [existdb/existdb:6.1.0-SNAPSHOT] "existdb-semver-xq": Waited on log out 'Server has started, listening on' 4070 ms
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.270 s
[INFO] Finished at: 2023-01-16T14:30:54+01:00
[INFO] ------------------------------------------------------------------------

❯ docker ps
CONTAINER ID   IMAGE                            COMMAND                  CREATED          STATUS                             PORTS                              NAMES
bdb229be1b31   existdb/existdb:6.1.0-SNAPSHOT   "java org.exist.star…"   11 seconds ago   Up 10 seconds (health: starting)   8443/tcp, 0.0.0.0:9090->8080/tcp   existdb-1

❯ uname -av
Darwin pomona.local 22.2.0 Darwin Kernel Version 22.2.0: Fri Nov 11 02:08:47 PST 2022; root:xnu-8792.61.2~4/RELEASE_X86_64 x86_64

or Win.

It does appear to build and run tests to success on Windows x86_64:

Screenshot 2023-01-16 at 14 29 16

Also the "docker dev environment" does appear to work just fine too on Windows x86_64:

Screenshot 2023-01-16 at 16 05 59

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants