Skip to content
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

Merged
merged 5 commits into from
Dec 21, 2022

Conversation

UlisesGascon
Copy link
Member

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 same

Context:

Notes

I am not sure if there is a more elegant way to condition ignore_errors rather than duplicate tasks 😅

Copy link
Member

@targos targos left a 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.

@UlisesGascon UlisesGascon merged commit 96c3305 into nodejs:main Dec 21, 2022
@UlisesGascon UlisesGascon deleted the fix/deprecation-errors branch December 21, 2022 15:40
become_user: "{{ ansible_user }}"
homebrew:
upgrade_all: yes
ignore_errors: os == "macos10.15" or os == "macos10.14"
Copy link
Member

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

Copy link
Member Author

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? 🤔

Copy link
Member

@targos targos Feb 6, 2023

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

Copy link
Member

Choose a reason for hiding this comment

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

Does

Suggested change
ignore_errors: os == "macos10.15" or os == "macos10.14"
ignore_errors: "{{ os == 'macos10.15' or os == 'macos10.14' }}"

work?

Copy link
Member

Choose a reason for hiding this comment

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

yes

Copy link
Member

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.

Copy link
Member

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.

targos added a commit to targos/nodejs-build that referenced this pull request Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ansible Jenkins macos10.x machines challenges
3 participants