-
Notifications
You must be signed in to change notification settings - Fork 2
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
118 platform production release deployment from GitHub #130
Conversation
There was a problem hiding this 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
andentrypoint.sh
to focus on required binaries and run SeaORM migrations - Cleans up
docker-compose.yaml
, disables legacyseed_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, sodocker pull
will fail or pull the wrong image. Defineenv: BACKEND_IMAGE_NAME
(including the:stable
tag) or use the full image reference explicitly.
docker pull ${{ env.BACKEND_IMAGE_NAME }}
446fdd4
to
9b6693b
Compare
…e interactively by a human user)
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]>
…in permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… robust entrypoint.sh script.
…y no hard coding main as the branch
There was a problem hiding this 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.
…ontainers starting/stopping/restarting
… covering systemd service management.
…ocker compose down/up. This requires that /etc/systemd/system/refactor-platform.service exists.
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:
.github/workflows/deploy_to_do.yml
for manual deployments to a DigitalOcean droplet via Tailscale, with rollback support..github/workflows/release.yml
to build and push multi-arch:stable
images to GHCR..github/workflows/build_and_deploy_containers.yml
for clarity.Docker and Containerization Updates:
Dockerfile
to include only required binaries (refactor_platform_rs
,migration
) and removesseed_db
..dockerignore
to reduce image size and build time.Database and Migration Adjustments:
entrypoint.sh
to runmigration up
by default.seed_db
inCargo.toml
in favor of SeaORM migrations.Docker Compose Refinements:
docker-compose.yml
by removing redundant environment variables and commands.depends_on
with conditions.Branch:
118-platform-production-release-deployment-from-github