Skip to content

Shadow forge x19 - #166

Merged
Dargon789 merged 19 commits into
masterfrom
ShadowForge-X19
May 11, 2026
Merged

Shadow forge x19#166
Dargon789 merged 19 commits into
masterfrom
ShadowForge-X19

Conversation

@Dargon789

@Dargon789 Dargon789 commented May 11, 2026

Copy link
Copy Markdown
Owner

Summary by Sourcery

Add multiple example CI/CD workflows for building Docker images and deploying via various platforms.

Build:

  • Introduce GitHub Actions workflow for building, publishing, and deploying Docker images to Google Kubernetes Engine using Workload Identity Federation.
  • Add GitHub Actions workflow to build and publish Docker images and deploy releases via Octopus Deploy.
  • Add GitHub Actions workflows to build and deploy static and Jekyll-based sites to GitHub Pages.
  • Add CircleCI sample configuration to run a simple hello-world pipeline.
  • Add a basic GitHub Actions workflow to build Docker images on pushes and pull requests to the master branch.

Dargon789 and others added 18 commits July 3, 2025 22:29
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
…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>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@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>
…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>
@vercel

vercel Bot commented May 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mempool Canceled Canceled May 11, 2026 6:35am

@sourcery-ai

sourcery-ai Bot commented May 11, 2026

Copy link
Copy Markdown

Reviewer's Guide

Adds multiple CI/CD workflows for Docker builds, GitHub Pages deployments, Google GKE deployment, and Octopus Deploy integration, along with a sample CircleCI pipeline.

Sequence diagram for the GKE deployment workflow

sequenceDiagram
  actor Developer
  participant GitHub
  participant Workflow_GKE as Workflow_Build_Deploy_GKE
  participant GoogleAuth as Google_Auth_Action
  participant ArtifactRegistry as Google_Artifact_Registry
  participant GKE as GKE_Cluster
  participant Kustomize as Kustomize_CLI
  participant Kubectl as Kubernetes_API

  Developer->>GitHub: Push to branch master
  GitHub->>Workflow_GKE: Trigger workflow

  Workflow_GKE->>Workflow_GKE: Checkout repository
  Workflow_GKE->>GoogleAuth: Authenticate via WorkloadIdentityProvider
  GoogleAuth-->>Workflow_GKE: Auth_token

  Workflow_GKE->>ArtifactRegistry: Docker_Login using_auth_token
  ArtifactRegistry-->>Workflow_GKE: Authenticated_registry_session

  Workflow_GKE->>Workflow_GKE: Build_Docker_image_with_GITHUB_SHA
  Workflow_GKE->>ArtifactRegistry: Push_Docker_image
  ArtifactRegistry-->>Workflow_GKE: Image_pushed

  Workflow_GKE->>GKE: Get_cluster_credentials
  GKE-->>Workflow_GKE: Kubeconfig

  Workflow_GKE->>Kustomize: Edit_set_image_with_new_tag
  Workflow_GKE->>Kustomize: Build_manifests
  Kustomize-->>Workflow_GKE: Rendered_manifests_yaml

  Workflow_GKE->>Kubectl: Apply_manifests
  Kubectl-->>Workflow_GKE: Resources_updated

  Workflow_GKE->>Kubectl: Rollout_status_deployment
  Kubectl-->>Workflow_GKE: Deployment_success

  Workflow_GKE->>Kubectl: Get_services_wide
  Kubectl-->>Workflow_GKE: Service_endpoints

  Workflow_GKE-->>Developer: Workflow_complete_with_new_release_on_GKE
Loading

Flow diagram for Octopus Deploy build and deploy workflow

flowchart TD
  A["Push_to_master_branch"] --> B["GitHubActions_Start_Workflow_Build_Deploy_Octopus"]

  subgraph Job_Build
    B --> C["Checkout_repository"]
    C --> D["Setup_Docker_Buildx"]
    D --> E["Login_to_DOCKER_REGISTRY"]
    E --> F["Extract_Docker_metadata_tags_labels"]
    F --> G["Build_and_push_Docker_image_to_DOCKER_REGISTRY"]
    G --> H["Set_output_image_tag_from_metadata"]
  end

  H --> I["Start_Job_Deploy_with_image_tag_output"]

  subgraph Job_Deploy
    I --> J["Login_to_Octopus_Deploy_via_OIDC"]
    J --> K["Create_release_in_Octopus_for_project_space_with_package_tag"]
    K --> L["Deploy_release_to_target_environment"]
  end

  L --> M["Application_version_deployed_via_Octopus"]
Loading

File-Level Changes

Change Details Files
Introduce GitHub Actions workflow to build, push, and deploy Docker images to Google Kubernetes Engine using Workload Identity Federation.
  • Add google.yml workflow triggered on pushes to master for GKE deployment
  • Configure env vars for GCP project, Artifact Registry, GKE cluster, and workload identity provider
  • Authenticate to Google Cloud via google-github-actions/auth with OIDC
  • Configure Docker login to Artifact Registry and build/push Docker image with GITHUB_SHA tag
  • Download and use kustomize to patch image reference and deploy via kubectl to GKE deployment
.github/workflows/google.yml
Add GitHub Actions workflow for building Docker images and deploying releases via Octopus Deploy using OIDC-based authentication.
  • Add octopusdeploy.yml workflow triggered on pushes to master with separate build and deploy jobs
  • Configure Docker Buildx and login to Docker registry using GitHub Packages by default
  • Use docker/metadata-action and build-push-action to build and push tagged images
  • Set up deploy job that logs into Octopus using OIDC service account
  • Create and deploy Octopus release using image tag output from build job
.github/workflows/octopusdeploy.yml
Set up GitHub Actions workflows for deploying Jekyll and generic static content to GitHub Pages.
  • Add jekyll-gh-pages.yml workflow to build Jekyll site and deploy to GitHub Pages using preinstalled dependencies
  • Configure permissions, concurrency, and separate build/deploy jobs for Jekyll workflow
  • Add static.yml workflow to upload entire repo as static artifact and deploy via GitHub Pages
  • Configure GitHub Pages permissions and concurrency for static deployment workflow
.github/workflows/jekyll-gh-pages.yml
.github/workflows/static.yml
Introduce a basic CircleCI configuration with a sample job to validate CircleCI integration.
  • Add CircleCI 2.1 config defining a say-hello job using cimg/base image
  • Configure workflow say-hello-workflow to run the say-hello job printing a Hello message
.circleci/config.yml
Add a minimal Docker build GitHub Actions workflow for master branch pushes and pull requests.
  • Add docker-image.yml workflow triggered on push and pull_request to master
  • Configure a single build job using ubuntu-latest that checks out the repo
  • Run docker build using Dockerfile and tag image with a timestamp-based tag
.github/workflows/docker-image.yml

Possibly linked issues


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

@snyk-io

snyk-io Bot commented May 11, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
🔚 Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • In .github/workflows/google.yml, the kustomize setup step downloads a .tar.gz but never extracts it, so ./kustomize will fail at runtime; either download the standalone binary or untar the archive before chmod and use.
  • The trigger branches are inconsistent across workflows (master vs main), which can lead to surprising behavior; align them with the actual default branch for this repo or make the intent explicit in comments.
  • The GKE deployment step hardcodes the placeholder image string in kustomize edit set image instead of using the previously computed DOCKER_TAG, which risks drift between the pushed image and the deployed one; consider referencing DOCKER_TAG (or an equivalent env var) directly in that command.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In `.github/workflows/google.yml`, the kustomize setup step downloads a `.tar.gz` but never extracts it, so `./kustomize` will fail at runtime; either download the standalone binary or untar the archive before `chmod` and use.
- The trigger branches are inconsistent across workflows (`master` vs `main`), which can lead to surprising behavior; align them with the actual default branch for this repo or make the intent explicit in comments.
- The GKE deployment step hardcodes the placeholder image string in `kustomize edit set image` instead of using the previously computed `DOCKER_TAG`, which risks drift between the pushed image and the deployed one; consider referencing `DOCKER_TAG` (or an equivalent env var) directly in that command.

Fix all in Cursor


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.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a basic CircleCI configuration file with a placeholder 'Hello World' job. Feedback suggests pinning the Docker image version to a specific tag to ensure build determinism and replacing the template logic with actual build and test processes relevant to the project.

Comment thread .circleci/config.yml
Comment thread .circleci/config.yml
@Dargon789 Dargon789 linked an issue May 11, 2026 that may be closed by this pull request
@Dargon789
Dargon789 merged commit 7e641dd into master May 11, 2026
13 of 17 checks passed
@Dargon789
Dargon789 deleted the ShadowForge-X19 branch May 11, 2026 06:38
@Dargon789
Dargon789 restored the ShadowForge-X19 branch May 11, 2026 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants