Skip to content

Conversation

@cabutlermit
Copy link
Contributor

@cabutlermit cabutlermit commented Nov 10, 2025

Purpose and background context

Like all of our container-based applications that will run in AWS, we need Makefile targets for the developer to build and deploy the container to ECR from their workstation. And, we need GitHub Actions workflows for dev, stage, and prod builds and deploys.

The workflows and the Makefile targets are all generated by the mitlib-tf-workloads-ecr repository (see PR#73 and PR#74).

How can a reviewer manually see the effects of these changes?

The developer can checkout this branch and then run the new make commands (make dist-dev, make publish-dev, and make docker-clean). After the make publish-dev, the developer can check the ECR Repository in Dev1 to see that their build was successfully pushed to the repository.

The developer can also review the Actions tab and see that the dev-build workflow ran properly when this PR was opened (the two Dev Container Build and Deploy jobs are listed at the bottom of this PR conversation as checks). The developer can also attempt to manually run the dev-build workflow in the Actions tab (since we enable workflow_dispatch as one of the workflow triggers). This is leveraging the new "multi-arch" option to allow either arm64 or amd64 builds based on the .aws-architecture file.

At this time, there is no way to run these containers easily in AWS since the mitlib-tf-workloads-timdex-infrastructure repository has not been updated with a new task definition to pull from this repository (that will happen as part of USE-170).

Includes new or updated dependencies?

NO

Changes expectations for external applications?

NO

What are the relevant tickets?

Code review

  • Code review best practices are documented here and you are encouraged to have a constructive dialogue with your reviewers about their preferences and expectations.

Why these changes are being introduced:
The ECR Repository infrastruture is in place in dev, stage, and prod
AWS accounts, so we have the outputs for the Makefile and the three
GHA workflows in TfCloud. Once deployed, these workflows will build/
deploy the container using our usual GitHub-flow model (new PR will
push a container to dev, merged PR will push a container to stage, and
a tagged release on main will push a container to prod).

How this addresses that need:
* Add Terraform-generated dev build and dev deploy targets to the
Makefile
* Create the dev, stage, and prod build/deploy GHA workflows using the
text generated by the mitlib-tf-workloads-ecr repository

None.

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/USE-169
@cabutlermit cabutlermit marked this pull request as ready for review November 10, 2025 15:58
@cabutlermit cabutlermit requested a review from ghukill November 10, 2025 15:58
ghukill

This comment was marked as outdated.

@ghukill ghukill self-requested a review November 10, 2025 18:46
Copy link
Collaborator

@ghukill ghukill left a comment

Choose a reason for hiding this comment

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

Looks great! Was able to confirm local builds, push to ECR, and even a test ECS task run via a shimmed task definition I had (spike-proj-use-embed-cli-dev) that I repurporsed to point to this new image.

@cabutlermit cabutlermit merged commit 286c8ec into main Nov 10, 2025
4 checks passed
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.

3 participants