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

Migrate build scripts to python with single script to orchestrate during make up #23011

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

KevinMind
Copy link
Contributor

@KevinMind KevinMind commented Jan 22, 2025

Fixes: mozilla/addons#15066

Also fixes the below issue regarding

Fixes: mozilla/addons#15235

Description

  • Replaced the locale compilation script from a shell script to a Python script (compile_locales.py) for better error handling and parallel processing.
  • Updated the update_assets target in Makefile-docker to use the new update_assets.py script.
  • Removed the obsolete compile-mo.sh script.
  • Introduced sync_host_files.py to streamline dependency updates and asset synchronization.

Context

This changes makes sure that the state of the host file system matches the state of the container before running the containers.

This enables simplifying the volumes we use to a single volume from the host to the /data/olympia directory.

On the flip side, the docker build uses the exact same scripts to execute build logic during a build. That is how we guarantee files match in and out of the container.

Testing

Run the container in production mode.

make up DOCKER_TARGET=production

I would have suggested a content hashing test to verify the site-static directory from the built image and the one from make up are identical, but django staticfiles.json is non-deterministically created.. changes the order of the json attributes. I think now it is enough that literally the same command is run.

Checklist

  • Add #ISSUENUM at the top of your PR to an existing open issue in the mozilla/addons repository.
  • Successfully verified the change locally.
  • The change is covered by automated tests, or otherwise indicated why doing so is unnecessary/impossible.
  • Add before and after screenshots (Only for changes that impact the UI).
  • Add or update relevant docs reflecting the changes made.

@KevinMind KevinMind requested review from a team, eviljeff and diox and removed request for a team and eviljeff January 22, 2025 12:50
Dockerfile Show resolved Hide resolved
…ing make up

- Replaced the locale compilation script from a shell script to a Python script (compile_locales.py) for better error handling and parallel processing.
- Updated the update_assets target in Makefile-docker to use the new update_assets.py script.
- Removed the obsolete compile-mo.sh script.
- Introduced sync_host_files.py to streamline dependency updates and asset synchronization.
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.

[Bug]: Occasional failures in building locales [Task]: Make up is, like, better
1 participant