-
Notifications
You must be signed in to change notification settings - Fork 17
feat: remove circleci, add release github action, update ci.Dockerfile [MDS-1702] #876
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
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 removes CircleCI integration and introduces a new GitHub Actions workflow for handling releases and deployments while updating related CI configurations to improve Docker Hub scout scores.
- Removed CircleCI configuration
- Added a GitHub Actions workflow triggered on tags, branches, pull requests, and release events
- Configured multiple jobs (prelease, test, dockerhub, deploy, semrelease) to manage build, test, and deployment pipelines
Files not reviewed (2)
- .circleci/config.yml: Language not supported
- ci.Dockerfile: Language not supported
Comments suppressed due to low confidence (1)
.github/workflows/release.yml:13
- The job name 'prelease' may be a typo or unclear; consider renaming it to 'prerelease' for clarity and consistency.
prelease:
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 removes CircleCI configuration and implements a comprehensive GitHub Actions workflow for building, testing, releasing, and deploying Docker images to improve the Docker Hub scout score.
- Updated the release workflow to trigger on tags, pushes, pull requests, and releases
- Introduced multiple jobs including prelease, test, dockerhub, deploy, and semrelease to manage the CI/CD process
- Adjusted caching keys, Node.js versions, and authentication steps for enhanced deployment automation
Files not reviewed (3)
- .circleci/config.yml: Language not supported
- ci.Dockerfile: Language not supported
- scripts/deploy/docker-build-ci: Language not supported
Comments suppressed due to low confidence (2)
.github/workflows/release.yml:13
- The job name 'prelease' can be confusing. Consider renaming it to 'prerelease' for better clarity.
prelease:
.github/workflows/release.yml:129
- The 'mix deps.get' command is executed inside the container earlier and then again on the host in the test job. Verify if both executions are intentional or if one can be removed to avoid redundancy.
- name: Install dependencies
run: mix deps.get
MarioGranada
left a comment
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.
Minor changes.
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
The PR replaces the existing CircleCI-based CI/CD with GitHub Actions, updates Docker build scripts and Dockerfiles to improve tagging and Docker Hub Scout scores, and removes obsolete CI files.
- Remove CircleCI config and legacy CI Dockerfile
- Add GitHub Actions workflows for build/test and release/deploy
- Enhance shell scripts and main Dockerfile for multi-stage builds and flexible tagging
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/deploy/docker-build-ci | Deleted legacy CircleCI‐specific Docker build wrapper |
| scripts/deploy/docker-build | Expanded build script with SHA/version tagging and improved usage |
| ci.Dockerfile | Removed outdated CI‐only Dockerfile |
| Dockerfile | Added unified multi-stage build and runtime Dockerfile |
| .github/workflows/release.yml | New release workflow: build, push Docker image, and deploy |
| .github/workflows/build-and-test.yml | New build-and-test workflow for pushes and PRs |
| .github/actions/setup_elixir/action.yml | Composite action for Elixir setup with caching |
| .circleci/config.yml | Removed CircleCI pipeline configuration |
Comments suppressed due to low confidence (1)
scripts/deploy/docker-build:8
- The usage text refers to
docker_build.sh, but the script file is nameddocker-build. Rename the script or update usage to match the actual filename.
echo "Usage: ./docker_build.sh [push] [version]"
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 removes the existing CircleCI setup, adds GitHub Actions for release and build/test workflows, and updates Docker build scripts and Dockerfiles to improve Docker Hub Scout scores.
- Remove legacy CircleCI configuration and scripts
- Introduce GitHub Actions workflows for release (pushing Docker images and deploying) and build/test
- Refactor
docker-buildscript and replaceci.Dockerfilewith a new multi-stageDockerfile
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/deploy/docker-build | Refactored build script: improved tagging, usage message, args |
| ci.Dockerfile | Removed obsolete CI Dockerfile |
| Dockerfile | Added new multi-stage build/runtime Dockerfile |
| .github/workflows/release.yml | New release workflow: build, push Docker image, deploy, release |
| .github/workflows/build-and-test.yml | New build-and-test workflow for main branch and PRs |
| .github/actions/setup_elixir/action.yml | Composite action to setup Elixir with caching |
| .circleci/config.yml | Removed CircleCI pipeline |
Comments suppressed due to low confidence (1)
scripts/deploy/docker-build:32
- The script only creates a version tag if
$TAGmatchesv${APP_VSN}, so passing a custom version (e.g.,v1.2.3) won’t result in a tag. Consider tagging with any provided$TAG, not onlyv${APP_VSN}.
if [ "$TAG" = "v${APP_VSN}" ]; then
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 replaces CircleCI with GitHub Actions for CI/CD, adds a release workflow to build and push Docker images on tag triggers, and updates Docker build scripts and Dockerfiles to improve version tagging and Docker Hub Scout scores.
- Remove legacy CircleCI configuration and CI-specific Dockerfile
- Enhance
docker-buildscript with improved tagging (latest, commit SHA, version) and user feedback - Introduce multi-stage
Dockerfileand GitHub Actions for build, test, and release workflows
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/deploy/docker-build-ci | Removed obsolete CircleCI-based Docker build script |
| scripts/deploy/docker-build | Updated build script to use SHA and version tags, echo progress |
| ci.Dockerfile | Deleted now-unused CI-specific Dockerfile |
| Dockerfile | Added multi-stage production Dockerfile with healthcheck |
| .github/workflows/release.yml | Added release workflow to build, push Docker image, and deploy |
| .github/workflows/build-and-test.yml | Added build-and-test workflow for PRs and main branch pushes |
| .github/actions/setup_elixir/action.yml | New composite Action to install and cache Elixir dependencies |
| .circleci/config.yml | Removed all CircleCI configuration |
Comments suppressed due to low confidence (4)
scripts/deploy/docker-build:8
- The usage message references
docker_buildbut the script is nameddocker-build. Update the references to match the actual filename.
echo "Usage: ./docker_build [push] [version]"
scripts/deploy/docker-build:14
- The example invocation uses
./docker_build, which should be updated to./docker-buildto match the script name.
echo " ./docker_build - Build the image with current git hash"
Dockerfile:54
- The healthcheck uses
curlbutcurlis not installed in the runtime image. Addapk add --no-cache curlin the runtime stage.
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 CMD curl -f http://localhost:4000/health || exit 1
scripts/deploy/docker-build:38
- [nitpick] Consider adding
--pullto thedocker buildcommand to always fetch the latest base image and avoid caching stale layers.
docker build \
This PR removes circleci file, adds release script to GHA and updates ci.Dockerfile for docker hub scout score improvements