Skip to content

Master#6

Merged
Dargon789 merged 10 commits intomainfrom
master
Jul 3, 2025
Merged

Master#6
Dargon789 merged 10 commits intomainfrom
master

Conversation

@Dargon789
Copy link
Owner

@Dargon789 Dargon789 commented Jul 3, 2025

Summary by Sourcery

Introduce CI/CD pipelines by adding workflows for Google GKE deployments, Octopus Deploy, CircleCI, and Jekyll site builds on the master branch.

CI:

  • Add GitHub Actions workflow to build a Docker image, push to Google Artifact Registry, and deploy to a GKE cluster
  • Add GitHub Actions workflow to build and publish a Docker image and deploy via Octopus Deploy
  • Add CircleCI configuration with a basic "say hello" job
  • Add GitHub Actions workflow to build the Jekyll site inside a Docker container

Dargon789 and others added 7 commits June 16, 2025 19:31
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
@sourcery-ai
Copy link

sourcery-ai bot commented Jul 3, 2025

Reviewer's Guide

Introduce comprehensive CI/CD pipelines by adding GitHub Actions workflows for GKE deployment, Octopus Deploy integration, CircleCI configuration, and a Jekyll site build via Docker.

Flow diagram for GKE deployment workflow (GitHub Actions)

flowchart TD
  A[Push to master branch] --> B[Authenticate to Google Cloud]
  B --> C[Authenticate Docker to Artifact Registry]
  C --> D[Get GKE credentials]
  D --> E[Build and push Docker image]
  E --> F[Set up Kustomize]
  F --> G[Deploy to GKE]
  G --> H[Check rollout status]
  H --> I[Get services]
Loading

Flow diagram for Octopus Deploy workflow (GitHub Actions)

flowchart TD
  A[Push to master branch] --> B[Build Docker image]
  B --> C[Push Docker image to registry]
  C --> D[Log in to Octopus Deploy]
  D --> E[Create Release in Octopus]
  E --> F[Deploy Release to Environment]
Loading

Flow diagram for Jekyll site build workflow (GitHub Actions)

flowchart TD
  A[Push or PR to master branch] --> B[Checkout code]
  B --> C[Build site in Jekyll Docker container]
  C --> D[Output static site]
Loading

Flow diagram for CircleCI hello world workflow

flowchart TD
  A[Push triggers workflow] --> B[Checkout code]
  B --> C[Run 'Say hello' job]
  C --> D[Echo Hello, World!]
Loading

File-Level Changes

Change Details Files
Add Google Cloud Build & Deploy workflow for GKE
  • Define environment variables for project, cluster, repository, and workload identity
  • Authenticate via Workload Identity Federation and configure Docker credentials
  • Build and push Docker image tagged by commit SHA
  • Deploy image to GKE using Kustomize and verify rollout
.github/workflows/google.yml
Add Octopus Deploy GitHub Actions workflow
  • Configure Docker Buildx, login, metadata extraction, and build-push in a build job
  • Output image tag for downstream steps
  • Authenticate to Octopus via OIDC
  • Create and deploy a release with Octopus actions
.github/workflows/octopusdeploy.yml
Add minimal CircleCI configuration
  • Define a Docker-based job that checks out code and prints a greeting
  • Declare a workflow that invokes the say-hello job
.circleci/config.yml
Add Jekyll site build via Docker in GitHub Actions
  • Trigger on pushes and pull requests to master
  • Checkout repository and run Jekyll build inside a Docker container with volume mounts
.github/workflows/jekyll-docker.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

…in permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey @Dargon789 - I've reviewed your changes and found some issues that need to be addressed.

  • In google.yml the ./kustomize edit set image command is using literal placeholders (LOCATION, PROJECT_ID, etc.) instead of the actual env vars—update it to interpolate ${{ env.GAR_LOCATION }}, ${{ env.PROJECT_ID }}, etc., so your image gets properly replaced.
  • The on.push.branches entries in your GitHub Actions workflows are defined as "'master'" with extra quotes—use just master (without nested quotes) to ensure the triggers fire correctly.
  • In jekyll-docker.yml, the theme: and plugins: keys are indented under the run step (and will break the workflow)—those belong in your Jekyll _config.yml, or need to be pulled out of the step into valid workflow syntax.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- In google.yml the `./kustomize edit set image` command is using literal placeholders (LOCATION, PROJECT_ID, etc.) instead of the actual env vars—update it to interpolate `${{ env.GAR_LOCATION }}`, `${{ env.PROJECT_ID }}`, etc., so your image gets properly replaced.
- The `on.push.branches` entries in your GitHub Actions workflows are defined as `"'master'"` with extra quotes—use just `master` (without nested quotes) to ensure the triggers fire correctly.
- In jekyll-docker.yml, the `theme:` and `plugins:` keys are indented under the run step (and will break the workflow)—those belong in your Jekyll `_config.yml`, or need to be pulled out of the step into valid workflow syntax.

## Individual Comments

### Comment 1
<location> `.github/workflows/google.yml:110` </location>
<code_context>
+          chmod u+x ./kustomize
+
+      # Deploy the Docker image to the GKE cluster
+      - name: 'Deploy to GKE'
+        run: |-
+          # replacing the image name in the k8s template
+          ./kustomize edit set image LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE:TAG=$GAR_LOCATION-docker.pkg.dev/$PROJECT_ID/$REPOSITORY/$IMAGE:$GITHUB_SHA
+          ./kustomize build . | kubectl apply -f -
+          kubectl rollout status deployment/$DEPLOYMENT_NAME
</code_context>

<issue_to_address>
The image replacement string in 'kustomize edit set image' uses literal placeholders.

The command uses placeholder strings instead of actual variable values, so the image reference won't be updated correctly. Use variable interpolation to construct the image name as in the build step.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@Dargon789 Dargon789 enabled auto-merge (squash) July 3, 2025 17:05
Dargon789 added 2 commits July 4, 2025 00:08
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
@Dargon789 Dargon789 disabled auto-merge July 3, 2025 17:22
@Dargon789 Dargon789 merged commit 3f354ac into main Jul 3, 2025
22 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.

1 participant