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

Build fails due to unpublished pybabel package on pypi #148

Closed
tjsr opened this issue Jan 26, 2025 · 5 comments
Closed

Build fails due to unpublished pybabel package on pypi #148

tjsr opened this issue Jan 26, 2025 · 5 comments

Comments

@tjsr
Copy link

tjsr commented Jan 26, 2025

Describe the bug
The pybabel package is no longer available on pypi, therefore the build fails when trying to download and install requirements. The replacement published babel uses a different module format and command argument syntax, so the existing babel commands also fail if trying to use that replacement package without changes.

To Reproduce
Steps to reproduce the behavior:

  1. Build the project using .\compile.ps1 -setupenv then .\compile.ps1 -all -everything or the equivalent bash scripts.
  2. Alternatively, re-build the project using the GitHub actions.

Expected behavior
Compile succeeds through to end and produces output development executables.

Additional context
A patch for this has now been written and is currently being tested and merged in.

@tjsr
Copy link
Author

tjsr commented Jan 26, 2025

A fix for this is available at tjsr#9 - I'm trying to figure out how best to create a PR so this can be merged to the diverging master branches in both repos.

@tjsr
Copy link
Author

tjsr commented Jan 27, 2025

@esitarski I've noticed you've committed a variant of this to the dev branch but have omitted the changes to the -l parameter.
The updated pybabel command format has changed - this switch now wants just the locale identifier, not the path to the locale files, which is why you're experiencing the build failure during the workflow run at https://github.com/esitarski/CrossMgr/actions/runs/12993634675/job/36236291139#step:6:2038

That's also why I've had to derive this value to pass as that parameter.

@esitarski
Copy link
Owner

esitarski commented Jan 28, 2025 via email

@tjsr
Copy link
Author

tjsr commented Jan 29, 2025

It is possible to have one relatively platform independent build script in python alone.

Okay - well let's create an issue, and break that down in to some tasks so people can work on it in bits. There's probably a lot of common compile things that can be started so that the current .sh and .ps1 script call that common python portion of a build, and over time we can migrate that in.
My expertise is in building Apache Ant builds for Java projects, I'm not a big Python person so I'll have to do a bit of looking in to Python build systems, but once I get past some of my other priorities for features/fixes I can look at that, as build workflow stuff will improve my developer experience. I've already spent the effort building a Dockerfile for the build - but this still needs a bit of work and testing.

On of my next tasks is going to be to add caching to the github builds and allow it to build in all develop/* and fix/* branches, as a 25 minute build is ridiculous for what it's currently doing.
That will also include having it not need to build SeriesMgr and other projects in every build - but that's a low-priority todo for now.

The other things that take priority is fixing the Ultra decoder read/connection code, then finishing refactoring things in to a TimingDevice framework. This will enable future work on technology-agnostic input sources and multiple time/crossing points - more on that later.

Priority 2 is then to get Teams Racing functionality added for GMBC usage - enabling relay teams in lap-based events to be calculated in results.

@esitarski
Copy link
Owner

Fixed in latest. Removed pybabel, replace .po to .mo compile with polib and python script.

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

No branches or pull requests

2 participants