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

Make test suite functional on m1 mac #1143

Closed

Conversation

bpamiri
Copy link
Collaborator

@bpamiri bpamiri commented Jun 2, 2022

This is a work in progress.

I'm working on getting the test suite to run on an M1 Mac. I'm taking the approach to use the latest versions of docker images till that path works then lock down the versions to the tested version so we don't get bug creep due to an image updating. This is the status of the matrix so far:

  • Lucee5 - H2
  • Lucee5 - Postgres
  • Lucee5 - MySQL
  • Lucee5 - SQLServer
  • Adobe2016 - Postgres
  • Adobe2016 - MySQL
  • Adobe2016 - SQLServer
  • Adobe2018 - Postgres
  • Adobe2018 - MySQL
  • Adobe2018 - SQLServer
  • Expose Debug info in a failed test result

@bpamiri bpamiri marked this pull request as draft June 2, 2022 21:02
@bpamiri
Copy link
Collaborator Author

bpamiri commented Jun 3, 2022

I've got SQL Server working now. Here are the things I had to change. First of all there is not official SQL Server docker image that is arm64 compatible so I've switched to azure-sql-edge that does have a arm64 image. But here's the rub, the arm64 image doesn't contain any sql utils so sqlcmd doesn't exist. We used that to create the wheelstestdb upon initialization. So, to create the test db I created another datasource called msdb_sqlserver that uses the msdb database. Then in our env.cfm database initialization I use that datasource to check to see if the database exists and create it if it doesn't. Finally I cleaned up the testui and removed the H2 combinations for the Adobe servers.

@bpamiri
Copy link
Collaborator Author

bpamiri commented Jun 3, 2022

So I got MySQL working for Lucee. There are now official MySQL images available for arm64 but they are Oracle 8.0 flavor. I had a few test that failed on Lucee with the new data base but when I looked at Adobe 2016 it was another story. It runs like a dog, in the 10 minute time frame to complete the test suite and when it does a set of the tests fail all with JSON serialization issues. I'm taking a break from this for a while to assess how to move forward. I could look at MariaDB instead but that may bring it's own set of issues. I also think we need to look at Adobe 2021 at some point so that may play nicer with MySQL 8.0 but who knows. Like I said, it's time to step away from this to get some clarity.

@bpamiri bpamiri marked this pull request as ready for review July 8, 2022 20:59
@bpamiri
Copy link
Collaborator Author

bpamiri commented Jul 8, 2022

I have all the tests passing on a Mac M1. This is also running the latest MySQL 8.0. @adamzenu and @neokoenig can you guys run this on a windows box to see if it runs properly. If you don't get a chance no worries, I'll fire up a windows box on Monday and test this.

@bpamiri
Copy link
Collaborator Author

bpamiri commented Jul 8, 2022

image

@chapmandu
Copy link
Contributor

I can test it on Linux.. but I don't have any Windows machines. Proudly 9 years free.. ;)

@bpamiri
Copy link
Collaborator Author

bpamiri commented Jul 9, 2022

I was able to run the full test suite on my Intel based MacBook Pro. I think we are good. I'll still try to run it on a fresh windows box to make sure nothing else pops up.

@bpamiri
Copy link
Collaborator Author

bpamiri commented Jul 9, 2022

@chapmandu Adam Linux will work too. I just want to make sure I didn’t break it on other platforms just trying to get the Mac M1 working. This does update the structure of the files, updates MySQL to 8.0, uses the latest Linux based Azure SQL Server, and many other updates to how the docker-compose, dokerfile, server.json, and cfconfig for each platform is defined. So it’s a major modernization of the toolset.

@chapmandu
Copy link
Contributor

Linux (Linux Mint 20.3 : Kernel 5.4.0-121-generic)

image

@bpamiri
Copy link
Collaborator Author

bpamiri commented Jul 10, 2022

Thanks for running these Adam. @chapmandu

@chapmandu
Copy link
Contributor

Should you have major supported versions of db engines? eg: mysql56, mysql57, mysql8.. we are still on mysql 5.6..

@bpamiri
Copy link
Collaborator Author

bpamiri commented Jul 11, 2022

yes, that makes sense. I would also like to add support for ACF 2021. And perhaps a way to test against bleeding edge releases of engines and DBs so we can get a heads up when a new release may effect us. I have Lucee 6 in mind here.

All in all, I think this PR is just the beginning of this process and not the end. I wanted to use this PR as a means for me to become more familiar with the testing suite and be able to run the test suite on my personal device so I could feel more comfortable tackling some of the low hanging fruit in the issues list.

Next up would be looking at the GitHub Actions and getting them to run the way we need and perhaps incorporating the larger matrix into them.

@bpamiri bpamiri closed this Jul 11, 2022
@bpamiri bpamiri deleted the make-test-suite-functional-on-M1-Mac branch July 11, 2022 17:55
@chapmandu
Copy link
Contributor

Are you planning on merging this?

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

Successfully merging this pull request may close these issues.

None yet

2 participants