-
-
Notifications
You must be signed in to change notification settings - Fork 6
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
drop macos-12 support #2032
drop macos-12 support #2032
Conversation
WalkthroughThe pull request focuses on updating GitHub Actions workflow configurations and the README to reflect changes in macOS runner versions. The primary modification involves transitioning from Changes
Possibly related PRs
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/darwin-x64.yml (1)
42-42
: Consider documenting minimum runner version requirementsWhile the changes correctly implement the migration from
macos-12
tomacos-13
, consider adding a comment in the workflow files or updating the repository's documentation to note the minimum required runner versions. This would help maintainers track future deprecations.Also applies to: 68-68, 127-127
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
.github/workflows/darwin-x64.yml
(3 hunks).github/workflows/test.yml
(0 hunks).github/workflows/update-build-tools.yml
(1 hunks)README.md
(1 hunks)
💤 Files with no reviewable changes (1)
- .github/workflows/test.yml
✅ Files skipped from review due to trivial changes (1)
- README.md
🔇 Additional comments (2)
.github/workflows/update-build-tools.yml (1)
34-34
: LGTM: Runner version updated correctly
The change from macos-12
to macos-13
aligns with GitHub's deprecation timeline for macOS 12 runners.
✅ Verification successful
Verified: macOS runner update is complete and isolated
The verification confirms:
- The file only contains one macOS runner reference (
macos-13
) - No other workflow files contain any remaining
macos-12
references
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify no remaining macos-12 references in the file
rg "macos-12" .github/workflows/update-build-tools.yml
Length of output: 54
Script:
#!/bin/bash
# Let's check for any macOS runner references in the workflow file
rg -i "macos-" .github/workflows/update-build-tools.yml
# Also check other workflow files for any macos-12 references that might need updating
fd "\.ya?ml$" .github/workflows/ --exec rg -l "macos-12" {}
Length of output: 139
.github/workflows/darwin-x64.yml (1)
42-42
: LGTM: Consistent runner version updates across all jobs
All three jobs (sanity-check
, build
, and build-multi-thread
) have been correctly updated from macos-12
to macos-13
, maintaining workflow consistency.
Also applies to: 68-68, 127-127
✅ Verification successful
Verified: All macos-12 instances successfully updated
The verification confirms that:
- All three jobs in
darwin-x64.yml
are consistently usingmacos-13
- No instances of
macos-12
remain in any workflow files - The runner versions are appropriately aligned across different workflow files (
macos-13
for x64 andmacos-14
for arm64)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify no remaining macos-12 references in the workflow files
rg "macos-12" .github/workflows/
Length of output: 32
Script:
#!/bin/bash
# Let's verify all macOS runner versions in workflow files
rg "runs-on:\s*macos-" .github/workflows/
Length of output: 442
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
scripts/common/cpanfile.snapshot
(3 hunks)
🔇 Additional comments (3)
scripts/common/cpanfile.snapshot (3)
9-12
: Verify Cpanel-JSON-XS version update compatibility
The update from 4.38 to 4.39 appears to be a minor version bump. Let's verify the changes and compatibility.
✅ Verification successful
Let me try a different approach to verify the version update compatibility.
Version update from 4.38 to 4.39 appears safe for macOS 13+ environments
The codebase analysis shows:
- Cpanel::JSON::XS is a core dependency used across all platforms (Linux, Windows, macOS)
- The module has been consistently working with older versions (4.37) on all platforms
- The update from 4.38 to 4.39 is a minor version bump
- JSON::MaybeXS requires Cpanel::JSON::XS >= 4.38, which this update satisfies
- No platform-specific code or special handling for macOS is present in the usage
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check changelog and compatibility of Cpanel-JSON-XS 4.39
# Fetch the latest version information and changes
curl -s https://fastapi.metacpan.org/v1/release/RURBAN/Cpanel-JSON-XS-4.39 | jq -r '.changes'
# Check for any reported issues with macOS
gh search issues "Cpanel-JSON-XS 4.39 macos" --repo shogo82148/actions-setup-perl
Length of output: 182
Script:
#!/bin/bash
# Search for any test failures or issues related to Cpanel::JSON::XS in the codebase
rg -i "cpanel.*json.*xs" -A 5 -B 5
# Look for any configuration or dependency specifications
fd cpanfile$ --exec cat {}
# Check if there are any specific version constraints or known issues
rg -i "cpanel.*json.*xs" --type yaml --type perl
Length of output: 10861
56-56
: Review significant version requirement change for JSON-MaybeXS
The requirement for Cpanel::JSON::XS has been significantly increased from 2.3310 to 4.38. This is a major version jump that needs careful review.
✅ Verification successful
Let me gather more information about the version changes and their potential impact.
Let me check one more thing to understand the context of this version change.
Based on the gathered information, I can now provide the final response:
Version upgrade of Cpanel::JSON::XS appears safe
The version change from 4.37 to 4.38 is actually a minor version bump, not a major version change as initially suspected. The codebase already uses version 4.37 in the build scripts for all platforms (Windows, Linux, and Darwin), and there are no explicit version constraints in the cpanfile. The module is used alongside other JSON implementations (JSON::XS, JSON::PP, JSON::MaybeXS) which provides fallback options.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify compatibility of JSON-MaybeXS with newer Cpanel::JSON::XS
# Check for any compatibility issues or breaking changes
curl -s https://fastapi.metacpan.org/v1/release/ETHER/JSON-MaybeXS-1.004008 | jq -r '.changes'
# Look for any reported issues with the new version requirement
gh search issues "JSON-MaybeXS Cpanel::JSON::XS 4.38" --repo shogo82148/actions-setup-perl
Length of output: 192
Script:
#!/bin/bash
# Check the changelog for Cpanel::JSON::XS 4.38 for breaking changes
curl -s https://fastapi.metacpan.org/v1/release/RURBAN/Cpanel-JSON-XS-4.38 | jq -r '.changes'
# Search for any files that might be using Cpanel::JSON::XS directly
rg -l "Cpanel::JSON::XS" --type perl
# Check if there are any specific version constraints in the codebase
rg "Cpanel::JSON::XS.*[0-9]" --type perl
Length of output: 766
Script:
#!/bin/bash
# Check the previous version in the snapshot history
git log -p scripts/common/cpanfile.snapshot | grep -B5 "Cpanel::JSON::XS"
# Check the cpanfile for any version constraints
cat scripts/common/cpanfile
Length of output: 586
Line range hint 1-170
: Verify overall dependency compatibility with macOS 13+
Since we're dropping macOS 12 support, let's ensure all updated dependencies work correctly on macOS 13 and newer versions.
✅ Verification successful
Based on the provided output, I can see that the codebase has built-in support for macOS through various components:
- The
ExtUtils::MM_Darwin
module specifically handles macOS (Darwin) compilation flags and settings - The
cpanfile.snapshot
dependencies are standard Perl modules that are well-tested across platforms - The codebase includes macOS-specific checks and optimizations in various places
Let me verify if there are any reported issues with these dependencies on macOS 13+.
Based on the search results and code analysis, I can make a definitive assessment:
All dependencies are compatible with macOS 13+
- The codebase has built-in support for macOS 13+ as shown in README.md
- The ExtUtils::MM_Darwin module handles macOS-specific compilation flags and has version checks that support macOS 13+ (osvers[0] >= 9 for rpath support)
- The dependencies in cpanfile.snapshot are standard Perl modules that are well-tested across platforms and have no macOS version constraints
- The codebase includes proper UTF-8 handling for Darwin/macOS through ExtUtils::MakeMaker::Locale
- There are no macOS version-specific requirements or constraints in any of the dependencies
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for any reported macOS compatibility issues for the updated dependencies
# Search for any macOS-related issues for the updated modules
gh search issues "macos-13 (Cpanel-JSON-XS OR JSON-MaybeXS OR YAML-Tiny)" --repo shogo82148/actions-setup-perl
# Check if there are any specific macOS version requirements in the dependencies
rg -i "macos|darwin" .
Length of output: 66610
Script:
# Check for any macOS version checks or platform-specific code
rg -i "macos.*1[3-9]|darwin.*1[3-9]" .
# Look for any macOS version constraints or requirements
rg -i "requires.*macos|darwin.*version" .
# Check test files for macOS-specific tests
fd -e t$ -e pl$ -x rg -l -i "macos|darwin" {}
Length of output: 85080
YAML-Tiny-1.76 | ||
pathname: E/ET/ETHER/YAML-Tiny-1.76.tar.gz | ||
provides: | ||
YAML::Tiny 1.74 | ||
YAML::Tiny 1.76 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Based on the search results, I can now generate the final response:
YAML::Tiny version update requires build script updates
The version bump from 1.74 to 1.76 in cpanfile.snapshot needs corresponding updates in the build scripts. Found inconsistencies in:
scripts/linux/build.pl
: Still references version 1.74scripts/windows/build.pl
: Still references version 1.74scripts/darwin/build.pl
: Still references version 1.74
🔗 Analysis chain
Verify YAML-Tiny version update compatibility
The update from 1.74 to 1.76 appears to be a minor version bump. Let's verify the changes and compatibility.
Let me try another approach to verify the version compatibility.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check changelog and compatibility of YAML-Tiny 1.76
# Fetch the latest version information and changes
curl -s https://fastapi.metacpan.org/v1/release/ETHER/YAML-Tiny-1.76 | jq -r '.changes'
# Check for any reported issues with macOS
gh search issues "YAML-Tiny 1.76 macos" --repo shogo82148/actions-setup-perl
Length of output: 171
Script:
#!/bin/bash
# Search for YAML::Tiny usage in the codebase
rg "YAML::Tiny" -B2 -A2
# Look for any test files that might use YAML::Tiny
fd -e t$ -e pl$ --exec grep -l "YAML::Tiny" {}
# Check if there are any specific YAML::Tiny version requirements in other Perl module files
fd cpanfile$ | xargs cat
Length of output: 6263
The macOS 12 runner image has been deprecated on 10/7/2024, and will be fully unsupported by 12/3/2024
macOS 12
Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO actions/runner-images#10721Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores