Skip to content

Add automated image release workflow#187

Merged
JesseStutler merged 7 commits intomainfrom
copilot/add-docker-release-workflow
Jan 8, 2026
Merged

Add automated image release workflow#187
JesseStutler merged 7 commits intomainfrom
copilot/add-docker-release-workflow

Conversation

Copy link
Contributor

Copilot AI commented Jan 8, 2026

Adds GitHub Actions workflow to automatically build and publish Docker images to DockerHub on merge to main or release tags, matching the release automation pattern used in volcano-sh/volcano. The workflow is named "Image Release" for future extensibility to support additional container registries like GCR.

Workflow Details

  • Name: Image Release (generic for future registry support)
  • Triggers: Push to main branch, tags matching v*.*.*, or manual dispatch
  • Images built:
    • volcanosh/vc-dashboard-frontend
    • volcanosh/vc-dashboard-backend
  • Platforms: linux/amd64, linux/arm64
  • Tagging: latest for main branch and manual runs, version tag for releases (e.g., v1.0.0)
  • Authentication: Uses DOCKERHUB_USERNAME and DOCKERHUB_TOKEN secrets

Implementation

The workflow uses Docker Buildx for multi-platform builds, pointing to existing Dockerfiles in deployment/build/. Tag selection is handled via simplified environment variable logic that detects branch vs. tag pushes vs. manual dispatch in a single step.

- name: Determine image tag
  run: |
    if [ "${{ github.event_name }}" == "workflow_dispatch" ] || [ "${{ github.ref }}" == "refs/heads/main" ]; then
      echo "TAG=latest" >> $GITHUB_ENV
    else
      echo "TAG=${{ github.ref_name }}" >> $GITHUB_ENV
    fi

Testing

The workflow includes workflow_dispatch trigger for manual testing before merging. To test:

  1. Configure DOCKERHUB_USERNAME and DOCKERHUB_TOKEN secrets
  2. Run manually from Actions → Image Release → Run workflow
  3. Verify images appear in Docker Hub after successful run
Original prompt

This section details on the original issue you should resolve

<issue_title>Add automated Docker image release workflow for dashboard</issue_title>
<issue_description>Currently, volcano-sh/dashboard does not have a workflow similar to volcano-sh/volcano's release.yaml: https://github.com/volcano-sh/volcano/blob/master/.github/workflows/release.yaml that automatically uploads images to DockerHub when merging to the main branch, or when a release tag is pushed. We need to add such a workflow for dashboard to automate Docker image creation and publishing under these conditions. The workflow should:

  • Build the Docker image when code is merged to main or when a tag matching 'v*..' is pushed.
  • Push the image to DockerHub, using secrets for authentication.

This update will make the dashboard release process more consistent and enable easier adoption and deployment.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: JesseStutler <38534065+JesseStutler@users.noreply.github.com>
Co-authored-by: JesseStutler <38534065+JesseStutler@users.noreply.github.com>
Copilot AI changed the title [WIP] Add automated Docker image release workflow for dashboard Add automated Docker image release workflow Jan 8, 2026
Copilot AI requested a review from JesseStutler January 8, 2026 04:06
@JesseStutler JesseStutler marked this pull request as ready for review January 8, 2026 06:36
Copilot AI review requested due to automatic review settings January 8, 2026 06:36
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 pull request adds automated Docker image release functionality to the volcano-sh/dashboard repository, enabling continuous deployment of Docker images to Docker Hub on merges to main or release tag pushes. The workflow mirrors the pattern used in the main volcano-sh/volcano project, ensuring consistency across the volcano ecosystem.

Key Changes:

  • Added GitHub Actions workflow for automated Docker image builds and publishing
  • Multi-platform support (linux/amd64, linux/arm64) for both frontend and backend images
  • Intelligent tagging: latest for main branch commits, semantic version tags for releases

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@JesseStutler
Copy link
Member

@copilot Thanks, Before merging this PR, can we test whether it can upload correctly to Docker Hub?

Co-authored-by: JesseStutler <38534065+JesseStutler@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 8, 2026

@copilot Thanks, Before merging this PR, can we test whether it can upload correctly to Docker Hub?

I've added a workflow_dispatch trigger in commit 7f91bb5 to enable manual testing.

To test the Docker Hub upload:

  1. Configure secrets (if not already done):

    • DOCKERHUB_USERNAME
    • DOCKERHUB_TOKEN
  2. Run manually: Go to Actions → Docker Image Release → Run workflow

  3. Or merge to main: The workflow will automatically trigger

The workflow is validated and ready:

  • ✅ YAML syntax correct
  • ✅ Dockerfiles exist and are valid
  • ✅ Uses proven GitHub Actions (same pattern as volcano-sh/volcano)
  • ✅ Multi-platform build configured (linux/amd64, linux/arm64)

After running, verify images at:

Co-authored-by: JesseStutler <38534065+JesseStutler@users.noreply.github.com>
Copilot AI and others added 2 commits January 8, 2026 06:58
Co-authored-by: JesseStutler <38534065+JesseStutler@users.noreply.github.com>
Co-authored-by: JesseStutler <38534065+JesseStutler@users.noreply.github.com>
Copilot AI changed the title Add automated Docker image release workflow Add automated image release workflow Jan 8, 2026
Copilot AI requested a review from JesseStutler January 8, 2026 07:01
@JesseStutler
Copy link
Member

Since it hasn't been merged into the main branch yet, I can't see this workflow, so I'll merge it first and then check for any issues.
/approve
/lgtm

@volcano-sh-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: JesseStutler
Once this PR has been reviewed and has the lgtm label, please assign kevin-wangzefeng for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@JesseStutler JesseStutler merged commit 1f075cb into main Jan 8, 2026
4 of 5 checks passed
@JesseStutler JesseStutler deleted the copilot/add-docker-release-workflow branch January 8, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add automated Docker image release workflow for dashboard

3 participants

Comments