Skip to content

118 platform production release deployment from GitHub #130

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

Merged
merged 58 commits into from
May 30, 2025

Conversation

lmcdonough
Copy link
Collaborator

This pull request adds production deployment automation and refines containerization and database migration processes to support stable GitHub-based releases.

Deployment and CI/CD Enhancements:

  • Adds .github/workflows/deploy_to_do.yml for manual deployments to a DigitalOcean droplet via Tailscale, with rollback support.
  • Adds .github/workflows/release.yml to build and push multi-arch :stable images to GHCR.
  • Renames the build workflow to .github/workflows/build_and_deploy_containers.yml for clarity.

Docker and Containerization Updates:

  • Updates Dockerfile to include only required binaries (refactor_platform_rs, migration) and removes seed_db.
  • Cleans up .dockerignore to reduce image size and build time.

Database and Migration Adjustments:

  • Changes entrypoint.sh to run migration up by default.
  • Disables seed_db in Cargo.toml in favor of SeaORM migrations.

Docker Compose Refinements:

  • Simplifies docker-compose.yml by removing redundant environment variables and commands.
  • Improves service startup logic using depends_on with conditions.

Branch: 118-platform-production-release-deployment-from-github

@lmcdonough lmcdonough linked an issue May 15, 2025 that may be closed by this pull request
@lmcdonough lmcdonough requested a review from Copilot May 15, 2025 19:58
@lmcdonough lmcdonough self-assigned this May 15, 2025
@lmcdonough lmcdonough added feature work Specifically implementing a new feature infrastructure DevOps related labels May 15, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements a GitHub-centric production release pipeline, streamlines container builds, and refines migration workflows.

  • Introduces automated multi-arch production builds and manual Tailscale-based deployments with rollback support
  • Refactors Dockerfile and entrypoint.sh to focus on required binaries and run SeaORM migrations
  • Cleans up docker-compose.yaml, disables legacy seed_db, and updates ignore patterns

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
entrypoint.sh Adjust migration logic to run by default and call the new migration binary
docker-compose.yaml Remove redundant environment variables, add comments, and refine depends_on usage
Dockerfile Only build specified binaries and include a debug ls step
Cargo.toml Comment out seed_db binary section with a TODO
.github/workflows/release.yml New workflow for building and pushing multi-arch stable images
.github/workflows/deploy_to_do.yml Manual deploy via Tailscale with rollback logic
.github/workflows/build_and_deploy_containers.yml Rename workflow to "Build and Push Containers"
.dockerignore Prune unnecessary files from build context
Comments suppressed due to low confidence (2)

Dockerfile:24

  • [nitpick] This debug listing likely isn’t needed in production builds—remove it to streamline the image and avoid leaking directory structure.
RUN echo "LIST OF CONTENTS" && ls -lahR /usr/src/app

.github/workflows/deploy_to_do.yml:38

  • BACKEND_IMAGE_NAME isn’t defined in this workflow and no tag is specified, so docker pull will fail or pull the wrong image. Define env: BACKEND_IMAGE_NAME (including the :stable tag) or use the full image reference explicitly.
docker pull ${{ env.BACKEND_IMAGE_NAME }}

@lmcdonough lmcdonough force-pushed the 118-platform-production-release-deployment-from-github branch from 446fdd4 to 9b6693b Compare May 16, 2025 23:01
@jhodapp jhodapp moved this to 🏗 In progress in Refactor Coaching Platform May 22, 2025
@jhodapp jhodapp moved this from 🏗 In progress to Review in Refactor Coaching Platform May 28, 2025
lmcdonough and others added 2 commits May 28, 2025 18:43
adds multiple change suggestions from pr review.

Co-authored-by: Jim Hodapp <[email protected]>
Co-authored-by: Copilot <[email protected]>
removes backtick symbals from workflow as per review suggestion.

Co-authored-by: Jim Hodapp <[email protected]>
lmcdonough and others added 3 commits May 28, 2025 19:52
…in permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
@lmcdonough lmcdonough requested a review from jhodapp May 29, 2025 00:19
@jhodapp jhodapp requested a review from calebbourg May 29, 2025 03:50
Copy link
Member

@jhodapp jhodapp left a comment

Choose a reason for hiding this comment

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

Works great, great teamwork on getting this first deployment workflow working!

Merge when ready.

@jhodapp jhodapp merged commit a033d78 into main May 30, 2025
8 checks passed
@jhodapp jhodapp deleted the 118-platform-production-release-deployment-from-github branch May 30, 2025 00:53
@github-project-automation github-project-automation bot moved this from Review to ✅ Done in Refactor Coaching Platform May 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature work Specifically implementing a new feature infrastructure DevOps related
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

Platform production release & deployment from GitHub
2 participants