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

Github workflow: Fix python link error on macOS #862

Closed
wants to merge 2 commits into from

Conversation

jhoyt4
Copy link
Contributor

@jhoyt4 jhoyt4 commented Feb 13, 2024

Homebrew recently shifted to python3.12 as the default python on some
but not all versions of macOS. This fix resolves a package linking
issue experienced when installing python based packages.

Checklist

@jhoyt4 jhoyt4 marked this pull request as draft February 13, 2024 00:26
@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 13, 2024

marking as a draft until I get the workflow to complete successfully.

@jhoyt4 jhoyt4 force-pushed the ghwf branch 19 times, most recently from 8f34a2a to 1a8a3cd Compare February 14, 2024 01:35
@garybuhrmaster
Copy link
Contributor

Can we consider moving to one source of truth, and use the ansible repo to install all the needed libraries rather then a different approach for CI here?

I am willing to work with you to (try) to accomplish that if it makes sense?

@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 14, 2024

I'm not opposed to going down that path. On the unofficial macOS CI chain I already do something similar for both macports and homebrew

I will note the following comment was added to the workflow code:
# N.B. These dependencies are for the master branch. Unlike the ansible
# playlists they do not include old dependencies that may be required for
# older versions. The list is intended to provide as much code coverage as
# possible (i.e. enable as many options as possible)

This leads me to believe that not using ansible was intentional

@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 14, 2024

I'll also note the issue I'm struggling with currently won't be fixed by ansible.

The issue is an underlying homebrew python issue. Some of the homebew packages have upgraded to python3.12 but not all. This leads to a "brew link" issue where both python3.12 and python3.11 try to generate symlinks to ${HB_PREFIX}/bin/python3 etc.

Another issue is that homebrew's runners have a broken python3.12 installed that requires updating. This version does not clean up all of the symlinks generated when installed (e.g. 2to3-3.12). This breaks the upgrade with a similar link issue.

In reality, we could just wait out homebrew and github fixing these issues upstream.

@hambre
Copy link
Contributor

hambre commented Feb 14, 2024

Good to see for that a fix is being worked on, as my PR is having this problem.

@jhoyt4 jhoyt4 marked this pull request as ready for review February 15, 2024 00:05
@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 15, 2024

Finally got through the link issues. Hopefully I can submit another PR thats backs some of this out in a number of weeks.

@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 15, 2024

Can we consider moving to one source of truth, and use the ansible repo to install all the needed libraries rather then a different approach for CI here?

@garybuhrmaster - I'm still happy to work with you on an ansible based approach in another PR (assuming that's a direction the mythtv devs would like us to go).

@jhoyt4 jhoyt4 marked this pull request as draft March 1, 2024 23:53
@jhoyt4 jhoyt4 force-pushed the ghwf branch 4 times, most recently from 10f2e81 to ecac54f Compare March 2, 2024 01:00
@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Mar 2, 2024

dang it - more python conflicts on hombrew. Hoping to have this cleaned up (again) shortly.

@jhoyt4 jhoyt4 force-pushed the ghwf branch 12 times, most recently from 349373d to c911277 Compare March 2, 2024 12:31
 Homebrew has multiple versions of python which occasionally step on
 each other. Add the overwrite flag in the install process to
 explicity oveverwrite old links.

 Additionally add a call to brew upgrade to handle issues where
 new packages require updating already installed ones.
@jhoyt4 jhoyt4 force-pushed the ghwf branch 2 times, most recently from dc5218f to 09be707 Compare March 2, 2024 12:58
@jhoyt4 jhoyt4 marked this pull request as ready for review March 2, 2024 13:06
  Ubuntu 20.04 only supports qt 5.12, deprecate the runner now that
  qt 5.15 is the new minimumally support version

  Additionally, bump the version of checkout and cache to the latest
@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Mar 2, 2024

Three successful CI checks in a row. I hope this is finally ready.

@jhoyt4 jhoyt4 closed this Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants