Skip to content

Conversation

@ethenne
Copy link
Contributor

@ethenne ethenne commented Apr 28, 2025

This PR removes circleci file, adds release script to GHA and updates ci.Dockerfile for docker hub scout score improvements

Copy link

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 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:

@ethenne ethenne requested a review from Copilot April 29, 2025 11:30
Copy link

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 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

Copy link

@MarioGranada MarioGranada left a comment

Choose a reason for hiding this comment

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

Minor changes.

@ethenne ethenne requested a review from MarioGranada June 2, 2025 06:36
@dkireev dkireev requested a review from Copilot June 2, 2025 13:16
Copy link

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

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 named docker-build. Rename the script or update usage to match the actual filename.
echo "Usage: ./docker_build.sh [push] [version]"

@ethenne ethenne requested a review from Copilot June 3, 2025 07:48
Copy link

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 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-build script and replace ci.Dockerfile with a new multi-stage Dockerfile

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 $TAG matches v${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 only v${APP_VSN}.
if [ "$TAG" = "v${APP_VSN}" ]; then

@ethenne ethenne requested a review from Copilot June 3, 2025 09:29
Copy link

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 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-build script with improved tagging (latest, commit SHA, version) and user feedback
  • Introduce multi-stage Dockerfile and 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_build but the script is named docker-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-build to match the script name.
echo "   ./docker_build                  - Build the image with current git hash"

Dockerfile:54

  • The healthcheck uses curl but curl is not installed in the runtime image. Add apk add --no-cache curl in 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 --pull to the docker build command to always fetch the latest base image and avoid caching stale layers.
docker build \

@ethenne ethenne merged commit 7b2881e into main Jun 5, 2025
1 of 2 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