Skip to content

IA-4812 Optimize CI: Deploy for IASO#3013

Open
oschvr wants to merge 67 commits into
developfrom
IA-4812-clean-and-optimize-c-is-to-build-images-for-deployment-rebase
Open

IA-4812 Optimize CI: Deploy for IASO#3013
oschvr wants to merge 67 commits into
developfrom
IA-4812-clean-and-optimize-c-is-to-build-images-for-deployment-rebase

Conversation

@oschvr
Copy link
Copy Markdown
Collaborator

@oschvr oschvr commented May 12, 2026

What problem is this PR solving?

Create an optimised CI setup for IASO that auto deploys to ElasticBeanstalk, using UV (~60% faster) and Docker HUB cache

Related JIRA tickets

IA-4812

Changes

Explain the changes that were made.

  • Moved the dependency builder to uv for faster build
  • Added caching (shared as of now) that users the registry to cache docker build layers
  • Using EB cli to deploy (through the eb_deploy.py python script) to autodeploy to ElasticBeanstalk
  • Bumped django-celery-beat to 2.6.0 for compatibility
  • Documented how to build locally

How to test

Push any change to this PR, this action will trigger

Notes

  • The action deploy_docker_manual.yml in this PR is a WIP, and is intended to replace deploy.yml as in when it is ready.

Doc

README.md

Comment thread .github/workflows/deploy_docker_manual.yml Fixed
@tdethier tdethier force-pushed the IA-4812-clean-and-optimize-c-is-to-build-images-for-deployment-rebase branch from dd70aed to 5a0bf7d Compare May 13, 2026 16:15
Copy link
Copy Markdown
Member

@tdethier tdethier left a comment

Choose a reason for hiding this comment

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

Still need to test, so I'm leaving comments only

Comment thread requirements.txt
Comment thread .elasticbeanstalk/config.upgrade.yml Outdated
@@ -0,0 +1,15 @@
branch-defaults:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should this file be part of the repo? Because I can use eb commands on the upgrade server without needing to include this file, I'm wondering why we have it

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

It's needed for testing the CI of this branch, but we need to remove once it's ready tomerge

Comment thread .github/workflows/deploy_docker_manual.yml Outdated
Comment thread .github/workflows/deploy_docker_manual.yml Outdated
Comment thread docker/prod/docker-compose.prod.yml Outdated
Comment thread docker/prod/Dockerfile Outdated
Comment thread scripts/deploy_prod_docker.sh Outdated
Comment thread pyproject.toml
Comment thread README.md
@tdethier tdethier force-pushed the IA-4812-clean-and-optimize-c-is-to-build-images-for-deployment-rebase branch from 5a0bf7d to 4dbb0de Compare May 19, 2026 09:55
Copy link
Copy Markdown
Member

@tdethier tdethier left a comment

Choose a reason for hiding this comment

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

Alright I think we've more or less covered the deployment CI, let's prepare the one that runs in PRs

Comment thread README.md
WFP_EMAIL_RECIPIENTS_NEW_ACCOUNT: ${WFP_EMAIL_RECIPIENTS_NEW_ACCOUNT}
WORKER: ${WORKER}

- APP_TITLE
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Note for later: white listing env vars is very annoying for plugins because their env vars need to be white listed too. I guess each plugin will need another docker compose file that extends this one in order to do that?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

yes that is a great idea, the base (vanilla IASO) docker compose can extend the plugins. I guess that's the next step

Comment thread docker/prod/docker-compose.prod.yml
Comment thread requirements.txt
Comment thread .github/workflows/docker_build.yml Fixed
Comment thread .github/workflows/docker_manual_deploy.yml Fixed
Comment thread .github/workflows/docker_manual_deploy.yml Fixed
Comment thread .github/workflows/docker_manual_deploy.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_manual_deploy.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_manual_deploy.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_build.yml Fixed
Comment thread .github/workflows/docker_build.yml Fixed
Comment thread .github/workflows/docker_build.yml Fixed
Comment thread .github/workflows/docker_manual_deploy.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
Comment thread .github/workflows/docker_tests.yml Fixed
@tdethier tdethier added enhancement New feature or request postrelease Should be merged just after the release labels May 26, 2026
Comment thread .github/workflows/main.yml Fixed
Comment thread .github/workflows/main.yml Fixed
Comment thread .github/workflows/main.yml Fixed
Comment thread .github/workflows/main.yml Fixed
@tdethier tdethier force-pushed the IA-4812-clean-and-optimize-c-is-to-build-images-for-deployment-rebase branch from dd43aea to a3887a6 Compare May 26, 2026 17:09
Comment thread .github/workflows/docker_build.yml Fixed
@oschvr oschvr changed the title IA-4812 Optimize CI: Deploy for IASO feat/Optimize CI: Deploy for IASO May 28, 2026
@oschvr oschvr changed the title feat/Optimize CI: Deploy for IASO IA-4812 Optimize CI: Deploy for IASO May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request postrelease Should be merged just after the release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants