Add openSUSE Leap 16.0 and SLES 16.0 support (real MySQL) - #44
Merged
Merged
Conversation
…x silently-inert PHP extension checks Both share one setup_suse()/uninstall_suse() code path (real MySQL Community Server, never MariaDB), verified end-to-end (install -> verify -> uninstall -> verify) against real containers for each: openSUSE Leap 16.0, and SLES 16.0 via SUSE's free, unauthenticated BCI image (registry.suse.com/bci/bci-base:16.0), which needs no paid SCC subscription to test, unlike SLES 15 or RHEL. Also: - Fixes tests/verify-install.sh's PHP-extension-loaded loop, where a misplaced pipe silently swallowed every check's PASS/FAIL output and counters into `grep -q` on every OS's CI run, not just these new ones. - Adds a runtime NOTE when the detected OS is supported but not independently CI-tested (currently RHEL, which rides CentOS Stream's coverage). - Documents SLES 15 and other explicitly-unsupported versions/rebuilds in the README, with the specific reason for each. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… file in CI start_mysqld() called mysqld_pre_systemd bare, trusting mysqld's own log-error config to write the init Note to /var/log/mysql/mysqld.log. That held locally, but GitHub Actions runners reproducibly sent it to stdout/stderr instead, so set_up_database()'s later `grep Note` found nothing and the install died silently under set -e right after "Configuring MySQL..." on both opensuse-leap-16 and sles-16 in CI, despite passing repeatedly in local Docker Desktop testing. Mirrors the CentOS shim's existing pattern: redirect the initialize call into the log file explicitly, and pre-touch/chown that file to mysql:mysql first so mysqld (which drops root before opening it) can actually write to it - a bare shell redirect otherwise creates the file root-owned and unwritable, which is what broke the first attempt at this fix locally. Re-verified end-to-end (install -> verify -> uninstall -> verify) on fresh openSUSE Leap 16.0 and SLES 16.0 containers after this fix. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
setup_suse()/uninstall_suse()code path that installs real MySQL Community Server (never MariaDB) via the existing SLES-15-targeted repo RPM, which installs and runs cleanly on both.registry.suse.com/bci/bci-base:16.0) carries its own publicSLE_BCIrepo with no paid SCC subscription needed, unlike SLES 15 or RHEL.tests/verify-install.sh: the PHP-extension-loaded check loop had a misplaced pipe that silently swallowed every check's PASS/FAIL output and counters intogrep -q, making those 8 checks per OS inert on every platform's CI run, not just the new ones.NOTE:printed by the setup script when the detected OS is supported but not independently CI-tested (currently RHEL, which rides CentOS Stream's coverage).Test plan
verify-install.sh(35/35) → uninstall →verify-uninstall.sh(13/13), all clean.verify-install.sh(43/43) → uninstall →verify-uninstall.sh(13/13), all clean.zypper/lddthat the SLES-15-targeted MySQL Community Server RPM has no missing shared libraries and runs correctly on both Leap 16.0 and SLES 16.0.verify-install.shextension-check loop now prints real, meaningful PASS/FAIL results instead of being silently swallowed.validate_os_and_version()confirming the new untested-OSNOTE:fires for RHEL but not for CentOS Stream or SLES 16.0.opensuse-leap-16andsles-16to the matrix).