-
Notifications
You must be signed in to change notification settings - Fork 167
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
fix: deprecation errors in macos 10.x #3130
fix: deprecation errors in macos 10.x #3130
Conversation
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.
LGTM, but I don't know Ansible enough to suggest a simpler implementation.
become_user: "{{ ansible_user }}" | ||
homebrew: | ||
upgrade_all: yes | ||
ignore_errors: os == "macos10.15" or os == "macos10.14" |
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.
ansible tells me that the value is invalid:
TASK [package-upgrade : Upgrade installed packages] ******************************************************************** fatal: [release-nearform-macos11.0-arm64-1]: FAILED! => {"msg": "the field 'ignore_errors' has an invalid value (os == \"macos10.15\" or os == \"macos10.14\"), and could not be converted to an bool.The error was: The value 'os == \"macos10.15\" or os == \"macos10.14\"' is not a valid boolean. Valid booleans include: 'true', 1, 0, 'no', 'false', 'yes', 'n', 'y', '0', 'on', '1', 'off', 't', 'f'\n\nThe error appears to be in '/home/mzasso/git/nodejs/build/ansible/roles/package-upgrade/tasks/partials/brew.yml': line 40, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n # Ignoring deprecation errors in MacOS 10.x\n - name: Upgrade installed packages\n ^ here\n"} ...ignoring
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.
what version are you using? 🤔
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.
ansible [core 2.14.2]
ansible python module location = /opt/homebrew/Cellar/ansible/7.2.0
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.
Does
ignore_errors: os == "macos10.15" or os == "macos10.14" | |
ignore_errors: "{{ os == 'macos10.15' or os == 'macos10.14' }}" |
work?
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.
yes
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.
I wonder if we should skip the step instead of ignoring errors. It takes ages to run because Homebrew doesn't support macOS <11 and it has to compile packages from source.
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.
I wonder if we should skip the step instead of ignoring errors. It takes ages to run because Homebrew doesn't support macOS <11 and it has to compile packages from source.
The Ansible scripts are supposed to be able to both:
- Set up a new VM/machine from scratch.
- Update an existing VM/machine.
For Orka we could possibly get away with the first by relying on snapshots, but it wouldn't help for the Nearform VMs (I guess we could snapshot those but we'd have to find storage for the snapshots and we already have disk space issues on those machines).
I would suggest though that we plan to move off macOS 10.15, at least for Node.js 20 and beyond.
Main changes:
Duplicated brew Upgrade installed packages step in order to allow failure due deprecation (
You are using macOS 10.14.\nWe (and Apple) do not provide support for this old version.
) in macos10.x but keep macos11 the sameContext:
Notes
I am not sure if there is a more elegant way to condition
ignore_errors
rather than duplicate tasks 😅