Skip to content

PHPLIB-1098: Test on supported platforms #1124

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

Merged
merged 1 commit into from
Jul 12, 2023

Conversation

alcaeus
Copy link
Member

@alcaeus alcaeus commented Jul 4, 2023

PHPLIB-1098

This PR updates the build pipeline to test on supported platforms:

  • Add Ubuntu 22.04 and 20.04
  • Add RHEL 9.0, 8.2, 8.1, and 7.6

The main tests are currently disabled for RHEL 7.6 and Ubuntu 20.04. Ubuntu 20.04 has issues with the "Start KMS servers" task due to dependency conflicts that I'll have to investigate separately. RHEL 7.6 has issues installing the extension via PECL as it fails with an SSL error when attempting to connect to pecl.php.net. I suspect a certificate problem but need to investigate further.

@alcaeus alcaeus requested a review from jmikola July 4, 2023 11:29
@alcaeus alcaeus self-assigned this Jul 4, 2023
# - rhel76
- ubuntu2204
- ubuntu2204-arm64
# TODO: KMS servers fail to start on Ubuntu 20.04
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted that we previously weren't testing on any Ubuntu platforms. ubuntu1804-arm64 was defined in the 'os` matrix but never used.

Do you plan on opening a "Build Failure" ticket for this? If so, let's add a ticket reference here.

I don't feel strongly about it as the OS matrix is more relevant for PHPC than PHPLIB.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy to slim down the OS matrix as the platform is more relevant to PHPC than PHPLIB. For PHPLIB, I'd say the important systems are Ubuntu and Debian, as those are were most people run their applications.

An important difference are docker users, where Alpine is a popular choice, but that's not available. I'll note that the standard images (e.g. php-cli) are built on Debian, so we have those covered.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, PHPC-1555 is an old tracking ticket to add Alpine, which we had to resolve as "Won't Fix" due to missing support in Evergreen. If we can get Alpine working in GitHub actions then perhaps we can revisit this down the line.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per suggestions, I have slimmed down the OS matrix, omitting RHEL 7 and RHEL 8 completely as the platform doesn't have an impact on the library. We're testing on RHEL 9, which also doesn't have the certificate problem I saw on earlier RHEL versions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alcaeus Will you be creating a ticket for "KMS servers fail to start on Ubuntu 20.04"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alcaeus Will you be creating a ticket for "KMS servers fail to start on Ubuntu 20.04"?

I wanted to grab a fresh copy of the error message, but the patch I created for that purpose succeeded: https://spruce.mongodb.com/version/64ad54d157e85a3f891c1afe/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC

I'm now running a new patch on all Ubuntu 20.04 platforms - if that succeeds I'll add them in here; otherwise I'll create a ticket to have it looked at.

# TODO: RHEL 8.x is not working yet
# - rhel82-arm64
# - rhel80
# TODO: RHEL 7.6 fails as it's not able to connect to pecl.php.net to install the library
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we intend to resolve this, I'd suggest opening a "Build Failure" ticket and referencing it here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While I'm not convinced we need to test on RHEL here, this matrix exposed problems installing extensions via PECL due to SSL issues. I'm not sure how relevant that is, but maybe @remicollet can shed some light on how popular installing via PECL is (and maybe even what the source of the certificate errors is).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have details on the SSL error running pecl install? He's probably need to see that to provide any insight.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just tested it and don't encounter any issue with pecl command on RHEL 7.

# scl enable rh-php73 "pecl install mongodb"
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
downloading mongodb-1.16.1.tgz ...
Starting to download mongodb-1.16.1.tgz (1,906,978 bytes)
........................................................................................................................................................................................................................................................................................................................................................................................done: 1,906,978 bytes
830 source files, building
running: phpize
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731
building in /var/tmp/pear-build-rootUiJouW/mongodb-1.16.1
...

BTW, versions seems outdated, should be RHEL 7.9, 8.8 and 9.2 (even if 8.6 and 9.0 have Extended User Support)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... maybe @remicollet can shed some light on how popular installing via PECL is ...

Probably very popular as RHEL only provide a very minimal set of extensions in its repository, so user can only use the pecl way (or switch to an alternative provider, but without support from RH)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @remicollet for confirming. I'll check with our build team to see what's going on with our build hosts.

@alcaeus alcaeus force-pushed the phplib-1098-build-hosts branch from 0197960 to 33c6b28 Compare July 11, 2023 11:00
@alcaeus alcaeus requested a review from jmikola July 11, 2023 11:01
Copy link
Member

@jmikola jmikola left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested creating a ticket for the KMS build failure on Ubuntu 20.04, but actual changes in the PR LGTM.

@alcaeus alcaeus force-pushed the phplib-1098-build-hosts branch from 33c6b28 to e416f72 Compare July 12, 2023 10:42
@alcaeus alcaeus merged commit 794bde5 into mongodb:master Jul 12, 2023
@alcaeus alcaeus deleted the phplib-1098-build-hosts branch July 12, 2023 11:30
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.

3 participants