Fix Actions Deployment Errors#60
Merged
Merged
Conversation
Why these changes are being introduced: The Omeka hosts are running Amazon Linux 2, which is build on CentOS 7 which is no longer on the GHA compatibility list. The shift to node20 (from node16) for all GHA runs requires newer versions of the glibc libraries that are not available for AL2. This means that our automated deployment workflows that use the Omeka hosts as our self-hosted GHA runners will now fail to run because of the glibc dependency. How this addresses that need: * This is an attempt to override the requirement for a newer version of glibc Side effects of this change: None. Relevant ticket(s): * https://mitlibraries.atlassian.net/browse/IN-1327
This explicitly tries to force node16
Why these changes are being introduced: The hosts running the GitHub actions are running Amazon Linux 2 which is no longer on the supported host OS list for self-hosted GitHub runners. Since the actions-runner on the hosts is configured to auto-update, it not longer has node16 embedded and node20 cannot run on AL2 (because the host OS does not have an up-to-date-enough version of the glibc library). The only thing in the workflow that requires node20 is the actions/checkout command. So, instead of using actions/checkout, we just run the very short list of git commands that we need to checkout the correct commit to run the simple deploy command. We update the manual workflow, the staging workflow (for pushes to the main branch) and the production workflow (for tagged releases on the main branch). How this addresses that need: * Remove the actions/checkout@v3 step in all three workflows * Create new steps for the necessary git commands to clone the repo and checkout the correct commit Side effects of this change: None. Relevant ticket(s): * https://mitlibraries.atlassian.net/browse/IN-1327
7cbce9e to
fe1b1dd
Compare
vab
approved these changes
Jun 23, 2025
vab
left a comment
There was a problem hiding this comment.
Ugly growl. lgtm. Not the first time I have seen GLIBC issues, and probably not the last.
matt-bernhardt
approved these changes
Jun 24, 2025
Member
matt-bernhardt
left a comment
There was a problem hiding this comment.
I see the actions having succeeded, which is the litmus test for me. The workaround seems fine, although I'll look forward to the day when it isn't needed anymore (even if we just decide to do things this way going forward)
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.
Developer
Fix the deployment workflows to address the
/lib64/libm.so.6: versionGLIBC_2.27' not found` errors that started appearing. These started because the runner software that is installed on the host servers is configured for automatic updates from GitHub and as of about a year ago, that software no longer contains the node16 package. It only includes node20 and node20 is not compatible with the version of GLIBC installed on the hosts.The workaround was to remove the
actions/checkout@v3step and just execute the necessarygitcommands directly. This removes any dependency on node.js embedded in the GitHub Actions package that is installed under themitdeployuser on the server.Tickets affected
Version (see config/theme.ini)
deploy.
Documentation
Accessibility
(link in the Pull Request details above).
Stakeholder approval
Dependencies
Additional context needed to review
E.g., if the PR includes updated dependencies and/or data
migration, or how to confirm the feature is working.
Code Reviewer
Code
added technical debt.
Documentation
(not just this pull request message).